DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
Using SCODB

Stack traces with interrupt frames

Occasionally, an interrupt frame is encountered in a stack trace, and the output is somewhat different:

   BREAKPOINT:
          D006B351 clock+165             clock+165
   debug0:2> stack
   E0000D30 clock(D00629A3, D0060158, 216)        <- clock_int+1C
            clock_int()                           <- INT [E0000D30]
   E0000DA8 INTERRUPT                             <- s5readi+1E9
   E0000DDC s5readi(D00FCE40)                     <- rdwr+14F
   E0000DE8 rdwr()                                <- read+B
   E0000E2C read()                                <- systrap+2F0
   E0000E38 systrap(E0000E38)                     <- sys_call+3D
Note that the routine called from the interrupt is shown as coming from INT (in this example, clock_int) and has no ebp register value given. The value given next to the INT (here, E0000D30) is the location of the register values at the time of the interrupt, and can be dumped using r. The next line in the stack trace shows where the interrupt occurred.

If address is given, the stack trace will start there instead of at the current value of %ebp.


© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003