使用函数名,文件名和行无信息进行回溯

时间:2016-03-25 21:02:01

标签: linux backtrace

我们有一个在Suse linux上运行的应用软件。我想要的是,每当软件发生崩溃/故障时,就会产生一个回溯,其中包含当前线程的调用堆栈信息(出现故障)。 我们目前正在使用“backtrace()”和“backtrace_symbols_fd()”来尝试获取跟踪,但没有太多有用的信息。它没有给出函数名,行号。和文件名。 因此,我开始寻找替代选项使用并找到“libunwind”。写了一个小函数来获取回溯,它确实用其他寄存器值(ip,sp)打印函数名。但我仍然无法获得文件名和亚麻布。有没有办法以编程方式做到这一点?如果我删除二进制文件会发生什么?我还能获得文件名/行号信息吗?

0 个答案:

没有答案