Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Notes on Managed Debugging, ICorDebug, and random .NET stuff
Chatting about debugging?
If you're at the Microsoft campus at the upcoming compiler-lab and want to chat about ICorDebug or...
Author: Mike Stall - MSFT Date: 03/10/2006
Is this a good or bad?
Pinvoke.Net is a great site, and I was wondering whether to be happy or sad. On the bright side,...
Author: Mike Stall - MSFT Date: 03/10/2006
New CLR blogger: Vance Morrison
Vance Morrison, CLR Jit guru, and now Perf -Architect (succeeding Rico) is blogging. Vance has an...
Author: Mike Stall - MSFT Date: 03/10/2006
Doing Detach with ICorDebug
Detaching a managed-debugger is somewhat complicated at the ICorDebug API level. In a...
Author: Mike Stall - MSFT Date: 03/09/2006
Jan is on MSDN TV talking about MDbg
Jan Stranik is on MSDN TV talking about MDbg, the managed-debugging sample written in C#. See the...
Author: Mike Stall - MSFT Date: 03/08/2006
MDbg, Managed-debugging, and 64 bit
V2 CLR added support for 64-bit (amd64 and ia64), and that includes managed-debugging support. So a...
Author: Mike Stall - MSFT Date: 03/08/2006
"You can't have too much chocolate"
I find it's more difficult to prove things about natural language than about well-defined specified...
Author: Mike Stall - MSFT Date: 03/07/2006
What does a debugger author need to do to support func-eval?
I've mentioned func-eval (aka property eval) is evil for end-users; but it's also evil if you want...
Author: Mike Stall - MSFT Date: 03/05/2006
Why don't the managed Debugging APIs expose the Finalizer thread?
That's a fair question. Part of the answer is we don't believe people could use it properly. The...
Author: Mike Stall - MSFT Date: 03/02/2006
Feedback on debugging optimized (managed) code?
We're looking at ways to improve debugging managed-optimized code (eg, compiled with /o+), and would...
Author: Mike Stall - MSFT Date: 03/01/2006
Why can't you detach in interop-debugging?
Matt Pietrek noticed you can't detach while interop-debugging (aka "mixed-mode") in VS. Short...
Author: Mike Stall - MSFT Date: 03/01/2006
The cost of context switching
If you think context switching activities is cheap, then just try saying two sentences; and then try...
Author: Mike Stall - MSFT Date: 02/21/2006
Modules vs. Assemblies from the managed debugger's perspective
While managed assemblies may be very interesting from the loader and deployment perspective, they...
Author: Mike Stall - MSFT Date: 02/17/2006
IFEO and Managed-debugging
Be careful of Image File Execution Options (IFEO) with managed debugging - it won't work like you...
Author: Mike Stall - MSFT Date: 02/16/2006
Sample Mdbg extension
Here is a template for playing around with an extension for the MDbg sample (Mdbg is the managed...
Author: Mike Stall - MSFT Date: 02/14/2006
Living with the consequences.
Sometimes we think we can make a decision, but it turns out the decision is already made for us by...
Author: Mike Stall - MSFT Date: 02/10/2006
TV Reruns (past the 200 mark)
My TV-savvy friends tell me that there's some magic number of TV episodes that means you finally...
Author: Mike Stall - MSFT Date: 02/09/2006
ICorDebug failure codes
ICorDebug has many different ways of saying "failure". The full list is everything that starts with...
Author: Mike Stall - MSFT Date: 02/09/2006
About CORDBG_E_OBJECT_NEUTERED
Sometimes ICorDebug APIs will return CORDBG_E_OBJECT_NEUTERED. If you're using MDbg, COM-interop...
Author: Mike Stall - MSFT Date: 02/08/2006
Design Implications from boring details
You can discern a lot of information about an API from what appear to be subtle or irrelevant...
Author: Mike Stall - MSFT Date: 02/08/2006
Impossible vs. Insufficiently Clever
I find people will often say something is impossible, when really they just aren't s mart enough to...
Author: Mike Stall - MSFT Date: 02/06/2006
Viewing the current Exception in the debuggeer
VS (and mdbg) expose the $exception pseudo-variable which shows you the most recent exception....
Author: Mike Stall - MSFT Date: 02/03/2006
Random ICorDebugThread trivia
Here's random information about ICorDebugThread that I hope eventually makes it into MSDN: 1. The...
Author: Mike Stall - MSFT Date: 02/01/2006
Fun with yield, generics, and foreach
We all know that you can use C#'s foreach keyword to iterate through all items in an enumeration....
Author: Mike Stall - MSFT Date: 01/30/2006
MDbg UI Threading, round 2
The STA/MTA threading problem is (hopefully) fixed in the latest MDbg winforms Gui. (which also has...
Author: Mike Stall - MSFT Date: 01/27/2006
You can't do Edit-and-Continue with Interop-debugging on.
Somebody asked on the forums about Edit-and-Continue (EnC) in mixed mode. You can't use managed EnC...
Author: Mike Stall - MSFT Date: 01/26/2006
When More is less
Sometimes more is less. You may do more work to add a feature that turns out to get in the customers...
Author: Mike Stall - MSFT Date: 01/26/2006
Mdbg IronPython Extension updated for Beta 1
You probably heard that Iron Python Beta 1 was released. It has a small (but very worthy) breaking...
Author: Mike Stall - MSFT Date: 01/25/2006
Multiple steppers on 1 thread and other trivia
ICorDebug has a nicely abstracted "Stepper" object, via ICorDebugStepper (I talked more about that...
Author: Mike Stall - MSFT Date: 01/24/2006
Oh, yeah!
As a ship-gift for shipping VS2005, I got my copy of VS2005 "Everything Edition" (Ok, it's not...
Author: Mike Stall - MSFT Date: 01/23/2006
Sudoku Solver and Omniscient debugging
Let me make an analogy between debugging a program and solving a Sudoku. Sudoku is a...
Author: Mike Stall - MSFT Date: 01/22/2006
XML Diff Tool
Here's a webpage (courtesy of ASP+) that compares two XML files (eg, Xml Diff, Xml Patch). It also...
Author: Mike Stall - MSFT Date: 01/21/2006
Click Once rocks.
I've been reading up on ClickOnce and it is a very useful thing for easily deploying simple winforms...
Author: Mike Stall - MSFT Date: 01/20/2006
You need Source Files to do source-level debugging
I've had several people ask me "if my managed app and pdb are both in memory, can the managed...
Author: Mike Stall - MSFT Date: 01/17/2006
Trivial RSS Writer
Recently, I've been going through the standard fatherhood ritual of trying to setup of a webpage to...
Author: Mike Stall - MSFT Date: 01/14/2006
Writing colorized text to RichTextBox
You may have noticed I got carried away making everything a RichTextBox in the latest MDbg GUI....
Author: Mike Stall - MSFT Date: 01/13/2006
Debugabbility with Roundtripping Assemblies
I've gotten several questions about debugabbility IL round-tripping. Round-tripping is where you...
Author: Mike Stall - MSFT Date: 01/13/2006
Partition of ICorDebug
The ICorDebug API (the API for debugging managed apps) is about 70 total interfaces. Here is how I'd...
Author: Mike Stall - MSFT Date: 01/04/2006
Happy New Year!
Happy New year! My wife took our Christmas tree down, so I guess that's also my que to take my...
Author: Mike Stall - MSFT Date: 01/03/2006
Do you want to work on the CLR?
So we've just shipped VS2005 and CLR (.NET) 2.0. It's an awesome product, and we're gearing up for...
Author: Mike Stall - MSFT Date: 12/29/2005
Merry Christmas!
Merry Christmas! (This post brought to you courtesy of Community Server's "publish at future date"...
Author: Mike Stall - MSFT Date: 12/25/2005
A SymWriter sample is coming...
Reading managed PDBs is a common request, and the PDB-->XML sample does that nicely. I've had a...
Author: Mike Stall - MSFT Date: 12/21/2005
Check out CLR Profiler 2.0
FYI, in case you haven't heard from everybody else saying the same thing a month earlier, CLR...
Author: Mike Stall - MSFT Date: 12/17/2005