ktrace – interpret kernel stack dumps

ktrace [ –i ] kernel pc sp [ link ]

Ktrace translates a hexadecimal kernel stack dump into a sequence of acid(1) commands to show the points in the call trace. The kernel argument should be the path of the kernel being debugged, and pc and sp are the PC and SP values given in the stack dump. For MIPS kernels, the contents of the link register must also be supplied.

A stack trace consists of a ktrace command followed by a series of lines containing fields of the form location=contents:
ktrace /kernel/path 80105bc1 8048e174
8048e114=80105ac6 8048e120=80140bb4 8048e134=8010031c
8048e16c=80137e45 8048e170=80105bc1 8048e178=80137e62

The trace can be edited to provide the correct kernel path and then pasted into a shell window. If the –i option is present, ktrace instead prompts for the contents of the memory locations in which it is interested; this is useful when the stack trace is on a screen rather than in a machine readable form.


acid(1), rdbfs(4)

When examining a kernel trace resulting from an interrupt on top of other interrupts, only the topmost call trace is printed.