Esoteric

The inside scoop on SQL / debugging you won't find anywhere else!

Browse by Tags

Spread the word!
Tagged Content List
  • Blog Post: WOW64 madness: debugging through the confusion

    Last week I was teaching unmanaged code debugging to one of my customers. They were using 32-bit applications on 64-bit servers, which does create some unique problems. For example, capturing a ‘hang’ dump using right click on the Task Manager –> Processes list, will create a ‘64-bit dump’ (if that...
  • Blog Post: Too many files causing RAM pressure? (a.k.a. DynCache to the rescue!)

    Readers of this blog might recall a previous post which described one impact of having too many similarly named files in one folder in NTFS. It turns out that the 8.3 naming convention is not the only thing you need to worry about when you have very large amounts of (smaller) files in the same volume...
  • Blog Post: Debugging story: Slowness due to NTFS short file (8.3) name generation

    When I teach production debugging to my customers, I always tell them that be successful you need to not only know the right tool and command syntax, but also know the right methodology . And perhaps even more importantly when debugging certain types of issues, knowledge of Windows Internals and the...
  • Blog Post: A curious case: CLR/COM Interop leak

      Background A customer asked me a question last week: in CLR-COM interop case, who is responsible to free up a string returned from COM? My understanding was that the interop layer setup by .NET will automatically take care of this. However, I thought a mock test would not do any harm. To my surprise...
  • Blog Post: Free training video series: .NET Debugging for production environments

    This is a quick one: my PFE colleagues Brad Linscott and Mario Hewardt have contributed an excellent video series on Channel 9. Check it out NOW at .NET Debugging for the Production Environment ! Awesome stuff!
  • Blog Post: Debugging managed code using VS.NET remote debugger

    Visual Studio can be used to debug processes remotely, using the MSVSMON agent. This can be used for both native code and managed code. However, for successfully debugging managed code applications, symbol files have to be correctly loaded – and for that to happen, they must be in the correct place...
  • Blog Post: ‘Proof of the pudding’: Global variables and PAGE_EXECUTE_WRITECOPY

    Today I was teaching a debugging class to our customers. As a foundational element we normally review the virtual-to-physical address translation mechanism, at least to a basic level. In this class we decided to go a bit deeper and show the evidence   Background reading First, if you are not familiar...
  • Blog Post: Windows Performance Toolkit: Finding CPU consumer

    A colleague of mine recently asked the question ‘I see CPU N is constantly pegged at 100%; is there any good way to determine which specific process is using that specific CPU?’ Well, he already figured that Task Manager or Process Explorer does not provide that information. And by definition purely...
  • Blog Post: .NET Debugging Quick Start

    Many a time I am asked how to get a head start with debugging .NET issues – hangs / crashes and most commonly, memory issues. So I assembled this list of resources which helps you get started. In addition, if you are a Premier Support subscriber, you can avail of our most excellent .NET Debugging WorkshopPLUS...
  • Blog Post: WARNING: Stack unwind information not available. Following frames may be wrong.

    I’m sure if you have ever used the WinDbg family of debuggers sometime, you must have seen the above message. What does it really mean? How does it affect you? Quick Background on stack operation In x86, the way the stack is built up, the entry point of the function (a.k.a. prolog) generated by the compiler...
  • Blog Post: YADCU - Yet another dump capture utility

    The plethora of dump capture tools is amazing and sometimes confusing. But here is one from Mark Russinovich which looks interesting: ProcDump . Some unique capabilities I can see in this tool are things like CPU threshold based triggers, the ability to clone a process so that it is suspended for minimum...
  • Blog Post: Low Fragmentation heap details

    Quick post here: I recently came across a great presentation by Richard Johnson which among other things talks about the implementation details behind ntdll’s Low Fragmentation Heap. While officially not much documentation is available on this subject, I believe Richard’s presentation offers pretty much...
  • Blog Post: Quick Tip: vfbasics!_AVRF_EXCEPTION_LOG_ENTRY symbol not resolved?

    I was debugging some issues with the help of Application Verifier and WinDbg. Since I was onsite I did not have any access to Microsoft’s private symbol servers, so I was using the public symbol server ( http://msdl.microsoft.com/download/symbols ). On executing the !avrf extension command in WinDbg...
  • Blog Post: Debugging Toolbox

    This one is a quickie for an easy reference to most commonly used debugging tools and links. I hope you find it useful, and kindly indicate your feedback on this page by using the comments section or by rating the post! Debugging Toolbox Tool Key Usage Scenarios Download location WinDbg Interactive production...
  • Blog Post: Symbols and symbol files

    Some of us are unaware of the relevance of proper symbols files. The symbol file is a deliverable just like the binary. Though it is not required for running the application, it is very important to debug issues which arise in production. What are symbols and symbol files? Symbols contain the...
Page 1 of 1 (15 items)