• greggm's WebLog

    Interop debugging and mscorwks.pdb

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

    Windows Vista: User Account Control and the Debugger

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

    Using IL exception filters for a better debugger experience

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

    Debugging Classic ASP Code

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

    Retail debugging technique -- #pragma optimize

    • 1 Comments
    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 -- http://blogs.msdn.com/greggm/archive/2004/12/15/315673.aspx . I was doing some retail debugging...
  • greggm's WebLog

    Be careful of what you checkin

    • 0 Comments
    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...
  • 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

    @clk

    • 0 Comments
    For several releases now, the native debugger has supported a pseudo-register @clk. @clk can be used as a quick and dirty profiler. As you step along, it can give you some sort of guess as to how long each function is taking. Prior to VS 8.0, the simple...
  • greggm's WebLog

    Parental Leave

    • 1 Comments
    Monday was my first day back at work after twelve weeks of parental leave. It was a wonderful experience that I highly recommend. In case anyone else cares, I figured I would give a few recommendations. Take parental leave. It is a great time to be...
  • 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

    Process listing APIs on Windows

    • 1 Comments
    There are a bunch of different process listing APIs on Windows. They all have their plusses and minuses. However, I have never seen a summary of them, so I figured I would take a shot at it. ntdll!NtQuerySystemInformation(SYSTEM_PROCESS_INFORMATION...
  • greggm's WebLog

    Dvorak and why you shouldn't bother

    • 2 Comments
    Last week Jensen Harris had a pro-dovak post . I am on parental leave, and just got around to reading it. As another Dvorak typist, I figured I would post as well. I have a very similar story to Jensen. I also learned Dvorak shortly after coming to Microsoft...
  • greggm's WebLog

    Reflections on 64-bit

    • 1 Comments
    We are getting really darn close to shipping Visual Studio 2005. Visual Studio 2005 is the first released VS-based debugger to support 64-bit. This is a feature that has taken an amazingly long time to ship. The first 64-bit work was done ~8 years ago...
  • greggm's WebLog

    Don't compare file names

    • 0 Comments
    Yesterday I talked about writing a file name comparison algorithm. There are certainly some code bases (and debuggers are certainly one of them) that need to compare file names. That being said, today I wanted to talk about why you shouldn't compare file...
  • greggm's WebLog

    Comparing file names in native code

    • 0 Comments
    There are new recommendations for comparing strings with the 2.0 .NET Framework (see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/StringsinNET20.asp ). You can now use OrdinalIgnoreCase to accurately compare file names...
  • greggm's WebLog

    Debug.ListCallStack /AllThreads

    • 2 Comments
    One little known feature of the Visual Studio debugger is how to list the callstacks of all threads. Switch to the Command Window Tab. In the general profile, it defaults to a dockable window in the tab group on the bottom right. Debug.ListCallStack...
  • greggm's WebLog

    Finding COM pointers on the stack

    • 2 Comments
    Back in December, I had one post about optimized code debugging. Today I wanted to follow up, and talk about one technique that I have found helpful when debugging native optimized code. One of the most annoying aspects of native optimized code debugging...
  • greggm's WebLog

    Debugging 'Last Error' problems

    • 1 Comments
    On a few occasions I have run into problems where some Windows API was returning a 'strange' error code. Here is a technique that works with some APIs: Go get public symbols for your operating system – add http://msdl.microsoft.com/download/symbols...
  • greggm's WebLog

    Job openings on the Visual Studio Debugger Dev Team

    • 2 Comments
    I have been a developer for the Visual Studio debugger for five and a half years now. We currently have two open positions, so I decided to post an advertisement. If you think being a developer on the Visual Studio debugger would be a cool job, send...
  • 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

    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

    Visual Studio 2005 and the Windows Firewall

    • 1 Comments
    We put a lot of work into Visual Studio 2005 to make remote debugging easier. One advance was to embed support for detecting and adding exceptions to the Windows Firewall. So, if you run the remote debugger (msvsmon.exe) it will detect if the firewall...
  • 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

    Yet more information for 'The debugger is not properly installed'

    • 3 Comments
    Back in April of last year I blogged about solving some of the reasons why people run into 'debugger is not properly installed' errors. Today, I would like to add some addendums. First, make sure you go through all the original steps first. This blog...
  • greggm's WebLog

    Report exceptions, don't ignore them!

    • 2 Comments
    Here is a great example of code that you should never write: __try { RunCode(); } __except (EXCEPTION_EXECUTE_HANDLER) { }; Or, here is the only somewhat less evil managed equivalent: try { RunCode(); } catch { } I know why programmers do it: 'RunCode...
Page 2 of 5 (114 items) 12345