February, 2004

  • greggm's WebLog

    How to find the owner of a critical section

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

    Programs and the Visual Studio.NET Debugger

    • 2 Comments
    The Visual Studio .NET debugger supports debugging multiple types of code running in the same process. This is an important feature, and implementing it required huge changes in how the debugger works. Unfortunately, a bit too much of the implementation...
  • greggm's WebLog

    Bad Native Callstacks

    • 1 Comments
    On Friday, a coworker emailed me a callstack that looked wrong. I sat down and looked at it. It turned out that the callstack was actually correct. Afterwards, I decided that it was time for a blog about bad native callstacks. Times when the debugger...
  • greggm's WebLog

    Hints for the native debugger’s expression evaluator

    • 4 Comments
    This is a list of a few hints for using the native debugger's expression evaluator. These are documented elsewhere, but I have run into a fair number of people that don't know about them. Format specifiers. These are expression suffixes that alter the...
  • greggm's WebLog

    Debugging virtual memory problems

    • 4 Comments
    Today I looked at a virtual memory usage bug. I determined that the function to set a breakpoint on is {,,ntdll}_ZwAllocateVirtualMemory@24. This function is called by the heap APIs, and by the VirtualAlloc APIs.
Page 1 of 1 (6 items)