我想以类似于在gdb中完成的格式从Linux中的C ++程序转储回溯。为此,我尝试使用backtrace()和backtrace_symbols()函数。这些返回的函数名称和偏移量。我可以使用__cxa_demangle()函数来获取可读的函数名称。
有没有办法获取文件/行位置,因为它是由gdb完成的?
答案 0 :(得分:5)
How it's better to invoke gdb from program to print its stacktrace?`
Methode#4,显示了获取文件名和行的方法。但是使用了一个外部程序..