在 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
參數。