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...

There are times that you need to debug the startup code for an application, but something else is launching the application. Classic examples might be services or setup custom actions. Luckily, the OS team came up with a way to debug these problems: ...

Visual Studio 2008 shipped with a feature to automatically enable script debugging when starting IE8 from Visual Studio. In other words, if you are using VS 2008 and IE8, there is no longer a need to tweak IE options to debug your site.
However, this...

One of the error codes that we included in the VS.NET 2002 and 2003 debuggers is: The debugger is not properly installed. Run setup to install or repair the debugger. Diagnosing this is much harder then it should be (more on this later). For now lets...

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...

If you ever try to debug a multi-threaded Windows Forms application, today's blog is for you. A customer asked me about this issue, and since I have also run into this problem, I decided to talk about it.
What is func eval?
If you already...

This blog has been on my todo list forever. I am now sitting in an airport, so I guess it is time for the procrastination is over… I want to talk about remote debugging in the following network situations: Two domains without two-way trust Two computers...

There are a couple of players in client side script debugging:
Script host (example: wscript.exe, mshtml.dll or asp.dll). This is the application that wants to run script. The host is responsible for giving the text of documents to the debugger...

Soon we will get the remote debugger KB article fixed, and this blog will be useless. In the mean time… Basic steps to get remote debugging to work after installing XP SP2: Configure DCOM on the Visual Studio computer Configure Windows Firewall on both...

If you’re a software developer, chances are that you have written an application, and this application has crashed. When this happened, it probably put up a dialog that looks something like this:
How do you figure out what went wrong?
Strategy...

The debugger team has gotten many requests to debug ASP.NET applications as a non-admin. In Whidbey, the ASP.NET team did a good job solving this problem. Their solution is much nicer then mine. In the mean time, here is a way that you can get this scenario...

One of the new features that we added in Visual Studio 2008 was debugger enhancement for Windows Communication Foundation (WCF) services.
There are four features that we support:
You can step from a service client into the implementation. Just...

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...

First, some background. The way we start ASP.NET debugging is to send a special request to ASP.NET over HTTP/HTTPS. The verb for this request is 'DEBUG'. If everything goes as planned, this allows VS to know what process to attach to.
Displaying error...

In native code, its sometimes useful to set a breakpoint condition so that a breakpoint will only stop for a particular instance of an object. To do this, I simply use the address of the object:
this == (CMyObject*)0x10fc10
In managed code, the...

Retail code debugging is one of those necessary evils. It's difficult, but the only way to completely avoid it is to not have retail code, which unfortunately usually requires you to avoid having any customers. Anyway, I figured I would give a brief tour...

Usually, people put breakpoints on an instruction. These breakpoints are set by replacing the first byte of an instruction with the ‘int 3’ instruction (0xcc). When the processor executes the ‘int 3’ instruction, it causes the...

Monica wrote a very nice document for this feature. A few quick highlights: Internet explorer defaults to having script debugging disabled. IE also likes to disable script debugging when you install a new version of IE (example: XP SP2). In IE, go to...

We occasionally get requests for the ability to break when a module loads. WinDbg (the other debugger that Microsoft produces) exposes this as an exception (see the 'sx' command), although it isn't really an exception. Ideally, I think this should be...

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...

Just-In-Time debugging is trickier on Windows Vista than on previous operating systems. Today I am going to talk about the various knobs that you can use to make this better.
Hint #1 : Use Visual Studio 2008 Beta2. I expect Beta2 to be out soon. If...

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...

A number of people have had difficulty debugging a .NET Framework 2.0/3.0/3.5 class library that loads into a native executable. The debugger will launch, and their code will run, but the debugger will not stop at breakpoints, detect that modules load...

Sometimes you need to debug a process, and you need to attach the debugger right away, but you cannot launch the process under the debugger. For example, if the process you need to debug is a Windows Service, the Windows Service Manager must launch the...

Many times in my life I have needed to debug a deadlock. You have one thread trying to acquire a critical section, and it can be a pain to determine which thread has it.
Setup: Go get OS Symbols. Having OS symbols is a must, and will make your life...