在 Linux 下,使用 backtrace
(或 bt
)命令可以显示当前程序的调用栈。backtrace
命令有一些常用参数,下面列出了一些:
-c
或 --count
:限制显示的栈帧数量。默认情况下,它会显示所有可用的栈帧。-r
或 --reverse
:反向显示栈帧。默认情况下,栈帧是按调用顺序显示的。-f
或 --full
:显示完整的栈帧信息,包括函数名和源代码行号(如果可用)。-n
或 --num-frames
:设置要显示的最大栈帧数。-p
或 --pid
:指定要显示调用栈的进程 ID。-s
或 --skip
:跳过指定数量的栈帧。例如,-s 2
会跳过前两个栈帧。-S
或 --skip-symlinks
:跳过符号链接作为栈帧的来源。-t
或 --show-threads
:显示多线程程序的每个线程的调用栈。-T
或 --thread
:指定要显示调用栈的线程 ID。-V
或 --verbose
:显示详细的错误信息。-h
或 --help
:显示帮助信息。这些参数可以组合使用,以便根据需要定制 backtrace
命令的输出。例如,要显示当前进程的调用栈,可以使用 backtrace
命令。要显示包含源代码行号的完整栈帧信息,可以使用 -f
参数。要显示指定线程的调用栈,可以使用 -T
参数。