Blog Detail
Debugging Toolbox
http://blogs.msdn.com/debuggingtoolbox/
Blog focused on troubleshooting tools and debugging using WinDbg. The blog has free tools and teach debugging techniques. The focus is on native and managed code, including products like IIS, ASP .NET, Sharepoint and general Windows user mode applications. Learn how to isolate problems causing hang, crash, memory leak and performance problems reading this blog.
Recent Posts
Special Command—Unassembling code with u, ub and uf
When debugging sooner or later you will need to disassemble code to get a better understanding of that code. By disassembling the code, you get the mnemonics translated from the 0s and 1s that constitute the binary code. It is a low level view of the...
Special Command—Using # to Find Patterns of Assembly Instructions
Sometimes you need to look for patterns of disassembled code. You can browse the disassembled code and manually look for a specific pattern, or you can use a command to automate it. The # command does that. # [Pattern] [Address [L...
Special Command—Tracing Applications Using wt
wt [WatchOptions] [= StartAddress] [EndAddress] Transcribing the WinDbg documentation, this command runs through the whole function and then displays statistics when executed at the beginning of a function call. Thus, this comma...
Special Command—Saving Modules Using .writemem
This command enables you to save memory into a disk file. The cool thing about it is that you can save modules too; however, it is just the raw memory. The parameters are: .writemem <filename> <range> Here is an example: ...
Special Command—Using .dump/.dumpcab to Get Dumps and Symbols from Production Servers
Using WinDbg you can create a dump file from an application running, for instance, in a production server. After collecting the dump file, you can load it in another machine and debug it. However, to be more effective during your debugging sessi...
Special Command—Using !chksym/!itoldyouso to Check PDB Files Against Modules
These are two debugger extensions that are used to see the PDB file that matches a specific module. Note that !itoldyouso is not documented. The output of both commands is identical. Usage: 0:025> !chksym ntdll ntdll.dll  ...

