One cause for ‘The debugger is not properly installed’ in Visual Studio 2002/3

Way back in 2004 I posted an article talking about the ‘The debugger is not properly installed’ in Visual Studio 2002/3. Today I wanted to briefly talk about another reason for seeing this problem that an extremely helpful user pointed out (thanks Joel!). If running debugger diagnostics shows: Result of ‘CoCreateMachineDebugManager(&spMachine)’ is ‘800401f9’ Then you…


My favorite Vista API – TaskDialogIndirect

Recently I have been doing a bunch of work to have the debugger better support Windows Vista. Windows Vista has a bunch of new APIs/API extensions, and I have seen a bunch of talk around the IO/Security improvements. While these do look pretty cool, TaskDialogIndirect is my favorite. TaskDialogIndirect is MessageBox for the 21st century….


A debugging tale

In my opinion, one of the best feelings in life is when you finally solve a great bug.  I have a hyper-focus personality, so I really hate it when I have to go home with my problem unsolved. I have a really hard time not thinking about it. For six days now, I have had…


Interop debugging and mscorwks.pdb

If you are doing interop debugging (managed+native debugging), I strongly recommend that you have symbols for mscorwks.dll. Interop debugging requires the debugger to walk the stack through stubs from mscorwks.dll, and without symbols, the debugger is going to get this wrong. To download symbols for mscorwks.pdb: For Visual Studio 2003:  See this KB article.  …


Windows Vista: User Account Control and the Debugger

As far as the debugger is concerned, the biggest feature in Windows Vista is user account control. You can read all about it on technet — but the basic idea is that even if you are an administrator on your computer, your programs normally run without administrative privileges. I am sure there will be detailed KB…


Using IL exception filters for a better debugger experience

Visual Studio 2005 brings with it a new technology — Just My Code. One nice feature that comes with Just My Code is the ability to stop on exceptions that you care about, without stopping on all exceptions. Usually this just works for you because something in a library that you are using (say WinForms),…


Debugging Classic ASP Code

Since shipping Visual Studio 2005, we have heard from some users complaining about the fact the Visual Studio 2005 doesn’t support debugging classic ASP code. Today I want to talk about what we recommend you do to debug your ASP code.   Visual Studio 2003 If you have Visual Studio 2003 already, why not continue…


Retail debugging technique — #pragma optimize

Retail debugging is one of those things that is both painful and necessary. To avoid repeating myself, I will just point to my old blog entry on this subject — I was doing some retail debugging today, and realized that I forgot to mention one good technique for solving retail only bugs – disable…


Be careful of what you checkin

If I had to give one piece of advice as to what you should do to be a good developer, it’s this: be careful of what you checkin. This means: Use source control. It’s hard to look at you are changing without source control. Always diff the code yourself. I also recommend checking in fairly…

Explaining ‘The Binding Handle Is Invalid’

Today I want to try to give more insight into the ‘Binding Handle Is Invalid’ problem that a number of people have reported with the VS 2005 debugger. First, if all you care about is how to solve the problem: Enable the ‘Terminal Services’ service and reboot. If you want to know more, read on….