回溯是否保存行和文件名

Does back trace save the line and file name?

本文关键字:文件名 保存 是否 回溯      更新时间:2023-10-16

在C++Linux平台中,我在代码中使用glibc http://linux.die.net/man/3/backtrace_symbols 的回溯命令来调试问题。

回溯如下所示:

./prog(myfunc3+0x5c) [0x80487f0]
./prog [0x8048871]
./prog(myfunc+0x21) [0x8048894]
./prog(myfunc+0x1a) [0x804888d]
./prog(myfunc+0x1a) [0x804888d]
./prog(main+0x65) [0x80488fb]
/lib/libc.so.6(__libc_start_main+0xdc) [0xb7e38f9c]
./prog [0x8048711]

我需要知道行和文件,以便我可以知道每个函数从哪里调用。

回溯命令是否支持?我已经阅读了手册,但没有找到任何相关内容。有什么想法怎么做吗?

编译并使用"-g"链接以添加调试信息。