Freigeben über


Mike Stall's .NET Debugging Blog

Notes on Managed Debugging, ICorDebug, and random .NET stuff

My wish: CLR as gaming scripting engine for Civilization

I'm a big fan of Sid Meier's Civilization series. One thing I would love to see is for them to use...

Author: Mike Stall - MSFT Date: 07/25/2005

Problem with .maxstack in IL-roundtripping tools

I previously posted a tool to allow inline IL in C# / VB.Net. At the IL level, the CLR needs to know...

Author: Mike Stall - MSFT Date: 07/20/2005

A common problem: forgetting to call ICorDebugAppDomain::Attach

I notice one of the most common issues folks hit when they try to write their own managed debugger...

Author: Mike Stall - MSFT Date: 07/19/2005

It's been a while

I notice it's been a while since I blogged last. I'm still here - we've just been really focused on...

Author: Mike Stall - MSFT Date: 07/17/2005

How to do a source-level step (eg, F10)

I compared source-level stepping perf between Everett and Whidbey here. In both cases, the step...

Author: Mike Stall - MSFT Date: 06/23/2005

Interop-stepping is 400 times faster in Whidbey over Everett

We’ve made Interop-debugging (aka “mixed-mode debugging”) much faster and more stable in Whidbey...

Author: Mike Stall - MSFT Date: 06/20/2005

#line hidden and 0xFeeFee sequence points

Sometimes you may have functions that you don’t want a debugger to step into (such as 3rd-party...

Author: Mike Stall - MSFT Date: 06/19/2005

MSDN feedback rocks.

I've had great experiences with MSDN responding to feedback and improving the docs.At the bottom of...

Author: Mike Stall - MSFT Date: 06/15/2005

ICorDebug is coming to MSDN…

Today, ICorDebug is not documented on MSDN, even though it’s a public API. Your best bet is a few...

Author: Mike Stall - MSFT Date: 06/06/2005

Updating MDbg GUI for Beta 2

I had a sample GUI extension for Mdbg Beta 1. However, it doesn’t build with Mdbg Beta 2 because: 1)...

Author: Mike Stall - MSFT Date: 06/03/2005

Mdbgcore.dll and linking IL

Mdbg is now included in the Whidbey Beta 2 SDK as a tool. The source is not actually included in the...

Author: Mike Stall - MSFT Date: 06/02/2005

How not to organize your mail

I get a lot of mail each day, and often a lot of the mail requires me to do some sort of work to...

Author: Mike Stall - MSFT Date: 05/26/2005

Please send Watson Error Reports when an app crashes!

Dr. Watson (aka “Microsoft Error Reporting”) is the facility that sends Microsoft an error report...

Author: Mike Stall - MSFT Date: 05/23/2005

Roger Wolff on Implementing ICorDebug for TinyCLR

I talked here about implementing ICorDebug to reuse existing debuggers (such as VS). Roger Wolff did...

Author: Mike Stall - MSFT Date: 05/12/2005

Quiz: What's wrong with this code?

What's wrong with the following code? This is real code taken verbatim from Cordbg (see...

Author: Mike Stall - MSFT Date: 05/08/2005

MDbg and Beta 2

VS Beta 2 has shipped. The MDbg binaries are now included in the beta 2 sdk. (Kudos to Rick for...

Author: Mike Stall - MSFT Date: 04/26/2005

A step backwards

The MS blogs were recently upgraded from .Text to Community Server. Unfortunately, the new Community...

Author: Mike Stall - MSFT Date: 04/15/2005

Feedback on the ICorDebug API?

Do you write Managed debuggers? Do you use the ICorDebug API? We're designing V3 of ICorDebug and...

Author: Mike Stall - MSFT Date: 04/06/2005

MS Blog Sites have upgraded to Community Server

The MS blog sites have upgraded to Community Server. Practically, that means there are some random...

Author: Mike Stall - MSFT Date: 04/02/2005

C# and Equals() in V2.0 versus V1.0.

Here’s some wacky trivia: In v1.1, C# evaluates 3f.Equals(3) to False. In v2.0, it evaluates to...

Author: Mike Stall - MSFT Date: 03/23/2005

Caveats about System.Diagnostics.StackTrace

The .Net frameworks provides the System.Diagnostics.StackTrace class which allows you to get a stack...

Author: Mike Stall - MSFT Date: 03/20/2005

Why you can’t debug mscorwks when interop-debugging

Interop (aka mixed-mode) debugging allows you to debug both the managed and unmanaged portions of...

Author: Mike Stall - MSFT Date: 03/15/2005

Clearly Document Object Lifespans

I’ve started commenting on API design lessons we’ve learned from mistakes in ICorDebug. I previously...

Author: Mike Stall - MSFT Date: 03/14/2005

Quiz about Object.Equals()

I posted a quiz about C# equality here. It focused on equality via operator== and had questions like...

Author: Mike Stall - MSFT Date: 03/12/2005

Answers to C# Equality quiz

Here are answers and commentary for the quiz that appeared here. The quiz is what do each of the C#...

Author: Mike Stall - MSFT Date: 03/09/2005

Quiz about C# and object equality.

Here’s a silly little C# pop-quiz about equality. Given a local variable x declared of type ‘int’,...

Author: Mike Stall - MSFT Date: 03/06/2005

Managed Debugging doesn’t support Fibers

Although managed-debugging definitely supports multi-threaded debuggees, it does not support...

Author: Mike Stall - MSFT Date: 03/01/2005

Don’t do “complicated” work in Release().

BradA has been talking about API design guidelines, which reminds me of a bunch of subtle API design...

Author: Mike Stall - MSFT Date: 02/27/2005

Debugging any .Net language

The CLR is a cross-language platform, so it follows the CLR-debugging services are also...

Author: Mike Stall - MSFT Date: 02/23/2005

Tool to allow inline IL in C# / VB.Net

C# doesn’t support inline IL. As an experiment, I wrote a post-compiler tool that allows primitive...

Author: Mike Stall - MSFT Date: 02/21/2005

3rd-parties and Edit And Continue (Part 2: Debuggers)

I recently blogged about what’s involved for 3rd-parties doing Edit-and-Continue (EnC), where I...

Author: Mike Stall - MSFT Date: 02/19/2005

3rd-parties and Edit-and-Continue (Part 1: Editors + Compilers)

I’ve said before that any 3rd party debuggers can add Edit-And-Continue (EnC) support, and now I...

Author: Mike Stall - MSFT Date: 02/17/2005

Rick Byers has started a blog!

Rick Byers has started a blog (actually, he's had it for about a week now)! Check out...

Author: Mike Stall - MSFT Date: 02/15/2005

Easily passing Managed strings to Unmanaged code (round 2)

My previous blog entry was about passing Managed strings to unmanaged code. Not being very...

Author: Mike Stall - MSFT Date: 02/14/2005

Hardmode vs. Softmode

User-mode debugging can be split into 2 models: Hardmode and Softmode. Hardmode means using the...

Author: Mike Stall - MSFT Date: 02/09/2005

Compiler Lab Results

Microsoft has been having a .Net compiler lab from Feb 7 to Feb 9. It looks like it’s been going...

Author: Mike Stall - MSFT Date: 02/08/2005

Source for a C# compiler written in pure C#.

For anybody looking for the full source to a bootstrapping C# compiler, today’s your lucky day. A...

Author: Mike Stall - MSFT Date: 02/06/2005

Source is available for MDbg Winforms GUI!

The source for the Winforms GUI extension to MDbg is now available as a sample. (Sorry it took so...

Author: Mike Stall - MSFT Date: 02/04/2005

Why you can’t do Edit-and-Continue on Dynamically generated code

I gave a brief example of how you can debug dynamically generated code (e.g., code generated via...

Author: Mike Stall - MSFT Date: 02/04/2005

Debugging Dynamically Generated Code (Reflection.Emit)

The CLR supports the ability to generate code at runtime (Reflection.Emit). This is great for the...

Author: Mike Stall - MSFT Date: 02/03/2005

Implementing ICorDebug to reuse existing debuggers?

I usually talk about people writing debuggers to consume the ICorDebug API and debug CLR...

Author: Mike Stall - MSFT Date: 02/01/2005

What is Interop-Debugging?

(This is an excerpt from an internal document I wrote explaining what is Interop-Debugging (aka...

Author: Mike Stall - MSFT Date: 01/28/2005

Finding where unmanaged exceptions came from

Sometimes you’re looking at the callstack that’s in a handler after an exception was thrown. This is...

Author: Mike Stall - MSFT Date: 01/18/2005

How to get a V2.0 ICorDebug object

I think the biggest breaking change in the ICorDebug API is how we deal with versioning. Managed...

Author: Mike Stall - MSFT Date: 01/15/2005

Code Gen flags while Debugging

I ranted here that Debuggers shouldn’t affect behavior. V1.1 had some fundamental violations of this...

Author: Mike Stall - MSFT Date: 01/11/2005

<Previous Next>