John Dallaway
2007-12-20 17:20:51 UTC
Hi
I am observing missing backtraces for some threads when debugging using
CDT 4.0.1 and GDB 6.1. Looking at the GDB/MI traffic, I note that the
backtraces are missing because "-stack-list-frames" returns:
^error,msg="Previous frame inner to this frame (corrupt stack?)"
which triggers an exception.
If I manually invoke this MI command a second time it succeeds.
I also note that Thread::getStackFrameCount() will retry if the MI
command "-stack-info-depth" triggers a similar exception.
What is the reason for the error message? Should
Thread::getStackFrames() also retry on initial failure?
John Dallaway
I am observing missing backtraces for some threads when debugging using
CDT 4.0.1 and GDB 6.1. Looking at the GDB/MI traffic, I note that the
backtraces are missing because "-stack-list-frames" returns:
^error,msg="Previous frame inner to this frame (corrupt stack?)"
which triggers an exception.
If I manually invoke this MI command a second time it succeeds.
I also note that Thread::getStackFrameCount() will retry if the MI
command "-stack-info-depth" triggers a similar exception.
What is the reason for the error message? Should
Thread::getStackFrames() also retry on initial failure?
John Dallaway