WinDbg tips and tricks: analyzing hangs faster

2009 (0x7D9) - The Year of Debugging

I’ve just found (by using Google) that the additional parameter (-hang) to the venerable !analyze -v command is rarely used… Here is the command I use if I get a manually generated dump and there is no exception in it reported by !analyze -v and subsequent visual inspection of ~*kv output doesn’t show anything suspicious, leading to hidden exception(s):

!analyze -hang -v

Then I always double check with !locks command because there could be multiple hang conditions in a dump.

The same parameter can be used in kernel memory dumps too. But double checking ERESOURCE locks (!locks), kernel threads (!stacks) and DPC queues (!dpcs) manually is highly recommended.

- Dmitry Vostokov -

Announcements

New Books:

DLL List Landscape: The Art from Computer Memory Space

Dumps, Bugs and Debugging Forensics: The Adventures of Dr. Debugalov

WinDbg: A Reference Poster and Learning Cards

Memory Dump Analysis Anthology, Volume 2

Also available:

Memory Dump Analysis Anthology, Volume 1

New Children's Book:

Baby Turing

3 Responses to “WinDbg tips and tricks: analyzing hangs faster”

  1. Volker von Einem Says:

    Are you aware of SieExtPub extension?
    There are two commands I often use in such cases: !Waitlist and !Critlist

    Cheers,
    Volker

  2. Dmitry Vostokov Says:

    Just googled and found many references to it, for example:

    http://msdn.microsoft.com/msdnmag/issues/05/07/Debugging/

    I rememeber I read that article some time ago but I didn’t pay attention to !critlist because I was always analyzing critical sections manually.
    Anyway I’ll check this extention and other commands from it.

    Thanks,
    Dmitry

  3. zernm Says:

    Good and popular site!

Leave a Reply