• greggm's WebLog

    Diagnosing 'The debugger is not properly installed'

    • 58 Comments
    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...
  • greggm's WebLog

    Inside 'Image File Execution Options' debugging

    • 16 Comments
    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: ...
  • greggm's WebLog

    Debugging an ASP.NET application as a non-admin

    • 15 Comments
    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...
  • greggm's WebLog

    Setting conditional breakpoints using object ids

    • 15 Comments
    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...
  • greggm's WebLog

    Explaining 'The Binding Handle Is Invalid'

    • 14 Comments
    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...
  • greggm's WebLog

    Why interop debugging is difficult

    • 12 Comments
    The Visual Studio debugger supports debugging both .NET code and native code at the same time. We call this ‘interop’. At first glance, this might not seem like much of an accomplishment. After all, we support debugging .NET code well enough...
  • greggm's WebLog

    Fixing 'You do not have permissions to debug the server' errors

    • 10 Comments
    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...
  • greggm's WebLog

    Is 'Just my Code' for you?

    • 10 Comments
    The debugger has a new feature this time around called 'Just my code'. This is a new-for-Whidbey managed debugging feature. Philosophy of Just my code: The basic idea is that when you debug an application, you want to debug the code in the application...
  • greggm's WebLog

    Why I run as an Admin

    • 9 Comments
    For a long time now, security people have been advocating running as a non-administrator. I have tried this a few times myself, generally for about 10 minutes before I give up. On my home computer, I once changed my account and my wife’s account...
  • greggm's WebLog

    What are your remote debugging scenarios?

    • 9 Comments
    I am constantly using remote debugging. I have one ‘development’ machine. On this machine, I have Visual Studio 2005 and an environment setup to build whatever version of VS I want. Then I have a bunch of test machines which run debug versions...
  • greggm's WebLog

    Properties and debugging

    • 9 Comments
    As I am sure everyone reading this article knows, the CLR support 'properties', which is a way of making function calls look like a variable read or write. These have some problems for debuggers, mostly because in order to evaluate a property, the debugger...
  • greggm's WebLog

    Attaching to a process without a dialog

    • 8 Comments
    In http://blogs.msdn.com/shaykatc/archive/2004/04/19/116222.aspx , Shaykat gave one alternative to the ntsd '-pn' option. I figured I would give two more. Alternative #1 - Attach project. Open the exe as a project (File->Open->Project, then select...
  • greggm's WebLog

    Data Breakpoints

    • 8 Comments
    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...
  • greggm's WebLog

    Configuring XP SP2 to enable remote debugging for VS 2002/2003

    • 8 Comments
    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...
  • greggm's WebLog

    Postmortem on working from Nebraska

    • 8 Comments
    I have spent the last three weeks working from Lincoln Nebraska, where my wife is in school. In fact, I am typing this from my plane back home. I decided that it might be interesting to talk about my experiences working remotely. First, I would like to...
  • greggm's WebLog

    Making Wrong Code Produce Compiler Errors

    • 8 Comments
    Joel, of Joel on software wrote an interesting blog ( Making Wrong Code Look Wrong ) last week that I just found time to read. I would largely agree with him. Really quick summary: he argues for variable prefixes to prevent accidentally doing the wrong...
  • greggm's WebLog

    Disabling script debugging in VS 2008 + IE8

    • 8 Comments
    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...
  • greggm's WebLog

    Crash during start debugging with Whidbey Beta 2

    • 7 Comments
    There is a crash that can occur when you start debugging with Whidbey Beta 2 on a machine that still has remnants of Whidbey Beta 1. Judging from Visual Studio Error Reporting, quite a few people have hit into this. The problem. The debugger...
  • greggm's WebLog

    Func eval and System.Windows.Forms.Form

    • 7 Comments
    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...
  • greggm's WebLog

    Remote Debugging without domain accounts

    • 7 Comments
    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...
  • greggm's WebLog

    Whidbey Debugger pseudo-register - $user

    • 7 Comments
    Today I wanted to talk about my strangest contribution to the Whidbey debugger is a new pseudo-register -- $user. What is $user? First, I guess I should define what a pseudo-register is. Pseudo-registers are fake variables that can be evaluated in any...
  • greggm's WebLog

    Retail code debugging

    • 7 Comments
    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...
  • greggm's WebLog

    Clearing up confusion over the proposed crashdump cut

    • 7 Comments
    Clearing up confusion over the proposed crashdump cut. As I posted in my last blog, Scott is soliciting feedback about a proposal to cut support for an old dump format. There has been some confusion over this, so I wanted to throw in my two cents. Crashdumps...
  • greggm's WebLog

    Rant: Why do unsafe string functions still exist?

    • 7 Comments
    One thing that I fail to understand is why, in 2004, we still have code that uses strcat, strcpy, sprintf or any of the other string functions that don’t take a buffer size input. Microsoft, Open source, etc all still use these functions. Why? Can...
  • greggm's WebLog

    Breaking when a module loads

    • 6 Comments
    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...
Page 1 of 5 (114 items) 12345