c# - Get stack trace of all threads without pdb files in Release build -


i have running c# application got caught kind of deadlock , i'd obtain stack traces of running threads analyze problem. unfortunately application release build , have lost pdb files.

when attach vs2013 debugger (via remote debugging), can see list of threads, not stack traces. stack trace window contains "external code" each thread.

it of great see basic stack trace - don't care details line numbers.

update i've observed have exact same issue long run release configuration (with remote host running exact same build in vs, , pdbs being available). have ever been able see stack trace in debug builds. other issue lack of pdb files?

i have found solution, using windbg. in windbg, attach process, issue following commands.

.cordll -ve -u -l ~*e !clrstack 

the former load extension managed debugging (see here), , latter print backtraces (credit this answer). believe means "for threads, !clrstack".

helpful tip. installer windows debugging tools may want restart system after having installed .net framework. you don't want since kill application want debug. worst, when tells restart required, will restart no matter if click "ok" or "cancel". fortunately, 1 can run installer on machine, , copy windbg target machine, work fine without installation.


Comments