I wrote:
> I'm using the 3.0.4 compiler and the 5.1.1 gdb (yeah, I know!). The "bt"
> command normally works fine whenever the machine had been running normally.
> However, the stack trace is quite useless if it had been servicing an
> interrupt. It would be *so* useful to know what background task had been
> running (and where) at the point the interrupt happened.
> 

Actually, it's worse than I'd thought. If your breakpoint (or whatever) went
off in a subroutine called by an interrupt routine, the "bt" command only
mentions the subroutine in its stack dump. The interrupt routine itself
(and whatever was going on below that) isn't mentioned.

For instance:
(gdb) bt
#0  0x00003616 in do_dac_irq () at hw_dac_adc.c:160
#1  0x00000004 in ?? ()
#2  0x00000004 in ?? ()
#3  0x00000004 in ?? ()
#4  0x00000004 in ?? ()
#5  0x00000004 in ?? ()
#6  0x00000004 in ?? ()

This broken dump loops like this for ever unless you hit 'q' to break out.
Seems strange that "bt" can't see at least as far as the interrupt routine
itself though.

--

Steve Hosgood                               |
[email protected]                          | "A good plan today is better
Phone: +44 1792 203707 + ask for Steve      |   than a perfect plan tomorrow"
Fax:   +44 70922 70944                      |              - Conrad Brean
--------------------------------------------+
        http://tallyho.bc.nu/~steve         |  ( from the film "Wag the Dog" )



Reply via email to