tags:

views:

153

answers:

1

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

A: 

I was debugging a 32 bit app with the 64 bit tools, so I decided to switch to the 32 bit Debug Tools and I haven't had a hang since.

The app in question is pretty graphically intensive, I'm guessing that it was this interacting poorly with WoW64 in a debugging environment...

aaron