One bug, two developers: Collaborative debugging is now a reality in Visual Studio 2010

Quite often, one or more developers need to collaborate on a bug to figure out the root cause of the problem. This collaboration is typically done using tools like email, bug tracking system (e.g. TFS) or if the developers are collocated, they might work on the bug together in one of their offices. Here is…


Looking for questions or feedback on IntelliTrace

During the last few months, I’ve been blogging extensively about a new Visual Studio 2010 feature called IntelliTrace (formerly known as the “Historical Debugger”). We are very excited about IntelliTrace and think that it’s going to change how people debug their applications. Since IntelliTrace is a brand new feature, we are eager to hear from…


Using IntelliTrace to view the return value of a VB or C# method

A few months ago, I blogged about how to view the return value of a C# or VB method in the Visual Studio debugger. As I explained in that blog post, the debugger does not support viewing the return value of a .NET method, so you have to apply a workaround or two. Being able…


How to edit code when debugging a 64-bit application

One of the most popular features in the Visual Studio debugger is the ability to edit code during a debug session and have the changes apply without having to stop the debugger, recompile the application and then run the application to verify the changes. This feature is affectionately known as "Edit and Continue" or "E&C"…


Debugging a COM object (Runtime Callable Wrapper) with Visual Studio 2010

If you have written managed code that uses a COM object, then you are probably familiar with System.__ComObject. When a COM object lacks a Runtime Callable Wrapper (RCW), the CLR provides a generic RCW which is an instance of the type "System.__ComObject". Unfortunately, one of the downsides to System.__ComObject is that the Visual Studio 2008…


Class Breakpoint: How to set a breakpoint on a C++ class in the Visual Studio Debugger

When debugging an application, there are times when you want the debugger to stop whenever any of the functions in a particular class are called. An example of this may be when you are trying to find out which object is calling your class. Of course, you could manually set a breakpoint on every function…


Troubleshooting common breakpoint problems in the Visual Studio debugger (Part I)

On the Visual Studio debugger team, one of the areas where we regularly receive feedback is when breakpoints don’t work. Furthermore, some of the error messages that the debugger displays when a breakpoint fails are generic so it might be hard to diagnose why a breakpoint doesn’t work correctly (we’re working to improve these error…


How to debug a 64-bit dump using the Visual Studio debugger

One of the questions that comes up about debugging dump files is how to debug a dump file that was created from a 64-bit process. The reason why this question comes up is because Visual Studio itself is a 32-bit application and therefore, cannot debug a 64-bit dump file (or process). As a result, the…


How to debug an exception with the Visual Studio 2010 Historical Debugger

In a previous blog, I covered how to debug a LINQ to SQL query using the Historical Debugger. In this blog, I’ll discuss using the Historical Debugger to debug an exception. The are a couple of reasons why the Historical Debugger is so useful when it comes to debugging exceptions: If your application handles the…


Debugging 101: How to skip over code in the Visual Studio Debugger

One of the questions that comes up regularly on newsgroups is "How do I skip over a section of my code in the Visual Studio debugger?" The answer depends on the meaning of the word "skip" but in general, there are three ways that you can skip over a section of code in the debugger….