On 14/03/2013 3:37 AM, Ken Huang wrote:
Hi all,
I have a problem when using gdb to debug my program in cygwin, the 'bt' command
gives me many '??'.
So I write a quite easy program named abort.c which just aborts. after
compiled with
"gcc -g abort.c -o abort" and run with " gdb abort", it aborts as
expected. At this time
I type "bt" in gdb to see the backtrace info, but it only gives the following:
<standard useless windows stack frames that have nothing to do with the
actual cygwin program under debug>
My experience is that you're SOL once Windows has started its exception
handling. I dont' know if it's an alternate stack, a debug info problem,
or what; but the only reliable way I know to debug aborts is to `b
__abort' so that gdb gets there before of Windows (I think it's two
underscores, but it could be one or three).
Similar issues affect other signals. In particular, SIGSEGV can often
leave you in this situation -- especially if the windows exception
handler itself faulted (e.g. due to a corrupt stack). Unfortunately,
there's not an easy function to put a breakpoint on that catches seg
faults before they head into Windows land...
Ryan
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple