Hi,
I am relatively new to WinDbg and I don’t know how I can do something
that should be doable, but is a bit advanced. I am sure this must have
been discussed somewhere, but I was not successful in my attempt to
locate a related topic in the WinDbg help file. I also tried searching
the WinDbg mailing list archive but it seems that my queries were not
good enough. So here I am. I plan to take the next WinDbg OSR seminar in
January but I need an answer before then ![]()
So here’s my situation:
I have a system that is doing lots of stuff for some hours but suddently
freezes on the UI level. I connect with WinDbg and the system is alive.
The system is running the debug version of our drivers (there are a
couple of them). The drivers are quite verbose when anything goes wrong,
but there are no error messages being generated if I press F5 to let the
system continue with what it was doing.
So I am trying to understand what is going on, what my drivers are doing
at the moment. I could start spreading breakpoints around, but instead
of that random search I think the following is a more reasonable
approach:
“Break. Get a list of all threads whose call stack contains my driver”.
I figure that this way I can then see each thread’s call stack to find
out what each thread is doing and get some hint what to look for next.
Can anybody tell me how to do this? I expect it should be doable
somehow.
This week I also received the SysInternals videos but only had the
chance to checkout the first one (tour of the tools). There I found out
that with LiveKd you can take a dump from a live system so you can
examine it with WinDbg. That’s cool, but in that case as well the first
thing I would like to know is “What were my drivers doing at the moment
the dump was generated?”. So the same question arises again.
Thanks in advance!
–
The fact that the program works is irrelevant.