windbg/cdb hangs when bp hit
- by aaron
I have a problem where cdb or windbg hangs frequently, but not all the time, when I'm debugging with it and I attach to a specific application on my machine.
I found this article: http://www.nynaeve.net/?p=164 which talks about a symbol loading race condition being the problem, but I can force load the symbols, actually have a breakpoint in-app work, and still have it hang elsewhere.
Here is the stack from cdb itself when I attach to it with another debugger:
ntdll!NtReadFile
kernel32!ReadFile
cdb!ReadNonConLine
cdb!ConIn
cdb!MainLoop
cdb!main
!analyze reports that APPLICATION_HANG_BusyHang is the problem bucket, and 'ReadNonConLine' is the offending function.
as far as the stack goes:
ffffffff`fffffffe 00000000`00000000 00000001`3f641498 00000000`0014ea50 : kernel32!ReadFile+0x86
00000000`000002a4 00000000`0014ebb0 00000000`00001000 00000000`00000000 : cdb!ReadNonConLine+0x6d
ReadNonConLine has the string "g" at 0014ebb0 passed as a param, which may be part of the command I had at the hanging breakpoint (it was something like bp foo "dt a; g")
ReadFile takes a handle as its first parameter. I'm surprised by the value -2, though, that doesn't look valid.
Any help is appreciated.
Thanks!
Aaron