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. Unfortunately, the answer is no.VS 2003 can not debug .NET 2.0 apps.  It is a restriction in the underlying .NET debugging services (see below)You can still use the .NET 2.0 SDK tools (such as Mdbg, DbgClr) to…


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 file. I’ll post the full source as a sample on MSDN. [Update 6/26/06] After great delay, source posted here. Also, check out Managed Stack Explorer, which is a more polished tool that has similar snap-shot…


Blog Category for Func-eval

I created a blog category for Func-eval (aka Property Evaluation), and I updated some of my old posts to be in this category. And while I’m at it, some other func-eval blog entries:GreggM on Func-eval and WinformsSteveJS on Nested Break States (stopping mid func-eval)Update: Very *Evil* things you can do with funceval:1. Funceval a message pump2….


Poor Man’s Radio

I stumbled across this by accident. If you want a radio in your office, just call a service department and switch to speakerphone when they put you on hold. I don’t have a radio in my office, and my computer doesn’t have speakers. But my office has been filled with music for a while now…


Use streams to simplify Stitching problems

Sometimes you need to take several different streams of information and “stitch” them together into a single stream. This sounds simple, but can be very meticulous because you need to deal with things like:* off-by-1 bugs and lots of corner cases* generally iterators / sliding windows for each stream, which translates to lots of locals…


Writing a debugger in VB

Some might consider writing a managed debugger in VB.Net to be an oxymoron. But maybe not. Here’s a VB.Net snippet that serves as a highly-specialized debugger to launch an app and print all the modules that get loaded. This is adapted from the C# sample snippet here that does the same thing. Although we know…


What I’m reading now…

I’m currently reading: “Why Programs Fail“, by Andreas Zeller.  The basic premise is that there’s a science to Debugging, and you can build automated tools that actually help with the anaylsis in debugging – and he’s not just talking about smarter breakpoints. While there’s an endless supply of books about compilers and language theory, there’s…


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 change to the new product (CLR V3). Before that, I’ve only made one change since 7/15/05. That’s 1 product change (it was on 8/26/05) in a 4 month window (between 7/15/05 and 11/16/05), which is certainly…


Updated MDbg GUI

I’ve updated the MDbg GUI. We’ll be integrating this into the actual MDbg sample and it will all be available in the MDbg download. Here’s a list of what’s improved. I’ll certainly post when the download site gets updated. IL support1) Added integrated IL view! It shows IL disassembly + native ranges + Source together….


Rules of Funceval

Funceval (aka “Function Evaluation” or “Property Evaluation”)  is the ability to inject some arbitrary call while the debuggee is stopped somewhere. A debugger commonly uses funceval to run ToString() and property getters. I want to describe when it is legal to initiate a funceval. Doing a funceval:For the CLR, funceval means hijacking a given thread…