在 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 参数。