【发布时间】:2012-02-29 13:38:08
【问题描述】:
我有一个在 Linux 平台上用 C++ 开发的系统。我正在对这个系统进行一些调试。我想查找对函数的完整函数调用序列。假设函数按以下顺序调用
function_1 -> function_2 -> function_3 -> function_4
如果我在 function_4 处设置一个断点,执行将在该点暂停。我想看看function_1、function_2和function_3在function_4之前被调用。是否有任何 gdb 命令来跟踪这些函数调用?
谢谢, 安库尔
【问题讨论】:
-
是 function_1 被调用然后返回 - 还是 function_1 调用 function_2() 等
-
RTFM:类似于“bt”或“st”(回溯或堆栈跟踪)。
-
bt获取回溯,但它依赖于堆栈帧,因此除非所有这些函数调用都是嵌套的(1 调用 2 调用 3 调用 4),否则这对你不起作用。
标签: c++ debugging gdb callstack