Mike Stall's .NET Debugging Blog
Notes on Managed Debugging, ICorDebug, and random .NET stuff
Source Control for 1
It's obvious that a project with 10 people requires some form of Source Control. But I find source...
Author: Mike Stall - MSFT Date: 12/14/2005
Don't rewrite opcodes in managed code.
Some tools work by replacing instructions in the target app. The tool may introduce a jump to some...
Author: Mike Stall - MSFT Date: 12/13/2005
Using MC++ to wrap ICorDebug for .NET 1.1
MDbg and the managed wrappers around ICorDebug only work on .NET 2.0 (VS2005). I previously...
Author: Mike Stall - MSFT Date: 12/13/2005
Christmas blog decorations!
It's the Christmas season, we've decorated our house, and I figured I'd decorate my blog too! It's...
Author: Mike Stall - MSFT Date: 12/11/2005
Evil trick to render UI when stopped at a breakpoint.
Here's an EVIL trick to render your UI in a winforms app when you're stopped at a breakpoint. When...
Author: Mike Stall - MSFT Date: 12/07/2005
"Visual Studio 2003 Mixed Mode Debugging Crash"
It's great that 2005 has shipped. I personally enjoy using it for my own pet projects and I'm very...
Author: Mike Stall - MSFT Date: 12/05/2005
MDbg sample is updated for VS2005 RTM
We've updated the MDbg source sample (download here) for Visual Studio 2005. This latest round of...
Author: Mike Stall - MSFT Date: 12/01/2005
VS 2003 can not debug .NET 2.0 apps.
Somebody asked here on the forums if you can use VS 2003 to debug .NET 2.0 (whidbey) apps....
Author: Mike Stall - MSFT Date: 11/30/2005
Tool to get snapshot of managed callstacks
I wrote a simple tool to take a snapshot of a running managed process and dump the output as an XML...
Author: Mike Stall - MSFT Date: 11/28/2005
Blog Category for Func-eval
I created a blog category for Func-eval (aka Property Evaluation), and I updated some of my old...
Author: Mike Stall - MSFT Date: 11/23/2005
Poor Man's Radio
I stumbled across this by accident. If you want a radio in your office, just call a service...
Author: Mike Stall - MSFT Date: 11/21/2005
Use streams to simplify Stitching problems
Sometimes you need to take several different streams of information and "stitch" them together into...
Author: Mike Stall - MSFT Date: 11/21/2005
What I'm reading now...
I'm currently reading: "Why Programs Fail", by Andreas Zeller. The basic premise is that there's a...
Author: Mike Stall - MSFT Date: 11/18/2005
Only 1 checkin in 4 months?
I haven't actually checked in a code change to the CLR in months now. Yesterday I made my first...
Author: Mike Stall - MSFT Date: 11/17/2005
Updated MDbg GUI
I've updated the MDbg GUI. We'll be integrating this into the actual MDbg sample and it will all be...
Author: Mike Stall - MSFT Date: 11/15/2005
Rules of Funceval
Funceval (aka "Function Evaluation" or "Property Evaluation") is the ability to inject some...
Author: Mike Stall - MSFT Date: 11/15/2005
Presentation on AOP + Debuggability
Today I gave a presentation on AOP + debuggability on .NET as part of Microsoft's AOP workshop...
Author: Mike Stall - MSFT Date: 11/15/2005
Why you sometimes get a bogus ContextSwitchDeadLock MDA under the debugger
The ContextSwitchDeadLock MDA (I blogged about MDAs here) sometimes fires under the debugger. MSDN...
Author: Mike Stall - MSFT Date: 11/11/2005
Managed Debug Assistants (MDAs) are cool.
Whidbey has has added Manage Debug Assistants (MDAs), which are like advanced log messages for...
Author: Mike Stall - MSFT Date: 11/10/2005
AOP and Debuggability
I'll be giving a short presentation at an upcoming Microsoft workshop on Aspect Oriented Programming...
Author: Mike Stall - MSFT Date: 11/08/2005
MDbg Linkfest
MDbg is a debugger for managed code written entirely in C# (and IL), which started shipping in the...
Author: Mike Stall - MSFT Date: 11/08/2005
Summary of the role of MDbg and Cordbg
I want to summarize in one place our views on Mdbg and Cordbg, and our plans for their future. Our...
Author: Mike Stall - MSFT Date: 11/07/2005
New toys
My home computer was a 5 year old x86 single-proc 600 mhz. Stop laughing! It ran Windows XP, Visual...
Author: Mike Stall - MSFT Date: 11/06/2005
Our policy on policy
... is that we don't want the platform making policy decisions. In general, any time the platform...
Author: Mike Stall - MSFT Date: 11/06/2005
Using Funceval to Inject code into another app
It's possible for a managed debugger to attach to an app and inject arbitrary stub code into the...
Author: Mike Stall - MSFT Date: 11/06/2005
BCL's Stacktrace doesn't capture locals.
I blogged here about how you can use the System.Diagnostics.StackTrace class to get a stack trace of...
Author: Mike Stall - MSFT Date: 11/05/2005
You can't debug yourself
You can't debug your own process. Both managed and native debugging are process-wide, and so the...
Author: Mike Stall - MSFT Date: 11/05/2005
MDbg extension to debug IL
I've updated the MDbg gui to provide IL debugging. I blogged here that the CLR actually lets you...
Author: Mike Stall - MSFT Date: 11/04/2005
Small changes can prevent optimizations.
Here's an example where adding a very useful (and seemingly innocent) method could prevent some...
Author: Mike Stall - MSFT Date: 11/02/2005
VS2005 ships!
As you've probably already heard by now, VS2005 has shipped! I've been using VS2005 for a while now...
Author: Mike Stall - MSFT Date: 10/27/2005
Do printer manufacturers do any scenario testing?
We do a thing called "Scenario Testing" where we run through common end-user scenarios to make sure...
Author: Mike Stall - MSFT Date: 10/26/2005
Update to Iron Python MDbg sample.
Shawn Farkas just let me know that the latest Iron Python 9.3 release breaks my Iron-Python Mdbg...
Author: Mike Stall - MSFT Date: 10/17/2005
Informal poll on debugger feature requests?
What new feature requests do you want in the managed debugging services? In other words, if you...
Author: Mike Stall - MSFT Date: 10/12/2005
Big picture on Symbol APIs
Here's how the managed symbol API fits into the overall symbol-store / PDB picture, courtesy of...
Author: Mike Stall - MSFT Date: 10/08/2005
.Net / ASP.Net Developers: check out Tim's blog
Tim Stall writes a .Net blog for .Net Developer’s Journal...
Author: Mike Stall - MSFT Date: 10/05/2005
Native threads still run at a managed breakpoint.
When you hit a managed-breakpoint while managed-only debugging, only the managed threads are...
Author: Mike Stall - MSFT Date: 10/04/2005
Debugging support for ASP.Net
From the CLR perspective, ASP.Net is just another managed application. You can just attach MDbg to...
Author: Mike Stall - MSFT Date: 10/03/2005
Viewing Exception Message string
Several people have asked how managed debugger tools can print more details about an exception, such...
Author: Mike Stall - MSFT Date: 10/02/2005
Remote Debugging vs. Remote UI
Visual Studio supports "Remote Debugging" (Gregg talks about that a lot here), which is the ability...
Author: Mike Stall - MSFT Date: 10/01/2005
It's been a year
It's been about a year since I first started blogging. At first, I wasn't sure if I should do it...
Author: Mike Stall - MSFT Date: 09/30/2005
I'm caught up!
Ok. With that last post, I believe I've completely caught up with all outstanding private emails...
Author: Mike Stall - MSFT Date: 09/30/2005
Symbol API (CorSym.idl) for managed PDBs
From the mailbag: Just wanted to know if there are plans to ever give us world citizens an API to...
Author: Mike Stall - MSFT Date: 09/30/2005
Enable vs. Implement
There's a key distinction between a platform (like the CLR debugging services) enabling a scenario...
Author: Mike Stall - MSFT Date: 09/29/2005
Debugger.Log and LogMessage
Calls to Debugger.Log in a debuggee can generate a ICorDebugManagedCallback::LogMessage managed...
Author: Mike Stall - MSFT Date: 09/28/2005
Compiling a language to C#
Several people have written me to say that they're writing their own language (let's say 'X') and...
Author: Mike Stall - MSFT Date: 09/28/2005
Having debugger-friendly codegen
One of the things I like about C# anonymous delegates is that the codegen is clever enough that...
Author: Mike Stall - MSFT Date: 09/28/2005
MDbg Sample temporarily broken in post-beta 2 builds.
Customers have alerted us that the MDBg sample is broken on post-beta 2 builds. Rick Byers has...
Author: Mike Stall - MSFT Date: 09/22/2005