JMH*_*JMH 2 c
在我的 C 程序中,我使用backtrace获取函数调用堆栈,然后使用backtrace的输出通过backtrace_symbols获取函数名称。生成的字符串包含函数名称和调用启动代码的地址以及该函数。有没有办法将这些地址转换为文件名和行号?我的意思是使用 gcc 扩展的 C 库(仅适用于 Linux)。提前致谢!
小智 5
在应用程序外部,您可以使用该实用程序将地址转换为源文件名和行号addr2line。(此实用程序是 Linux 特定的;Mac OS X 也有类似的atos实用程序。)
addr2line
atos
在应用程序中,您可以使用该dladdr函数将地址解析为共享对象和符号名称。不过,我不知道有什么方法可以访问调试信息以获取应用程序中的行号。
dladdr
归档时间:
10 年,5 月 前
查看次数:
3408 次
最近记录: