首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ltrace和strace工具中的行号信息

ltrace和strace工具中的行号信息
EN

Stack Overflow用户
提问于 2011-07-24 17:31:54
回答 3查看 3.9K关注 0票数 6

我是否可以查看行号和文件名(对于使用ltrace/strace运行的程序)以及库调用/系统调用信息。

例如:

代码语言:javascript
运行
复制
code section :: ptr = malloc(sizeof(int)*5); (file:code.c, line:21)

ltrace或任何其他工具:malloc(20) :: code.c::21

我已经尝试了ltrace/strace的所有选项,但找不到获取此信息的方法。

如果不能通过ltrace/strace,我们有针对GNU/Linux的并行工具选项吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-24 18:53:54

您可以在straceltrace中使用-i选项(在调用时输出指令指针),并结合使用addr2line来解析对代码行的调用。

票数 6
EN

Stack Overflow用户

发布于 2011-07-24 17:53:17

不不可能。你为什么不使用gdb来达到这个目的呢?

当你用gcc编译应用程序时,使用-ggdb标志把调试器信息放到你的程序中,然后用gdb或等效的前端(ddd或类似的)运行你的程序。

下面是gdb的快速手册,可以帮你解决一些问题。http://www.cs.cmu.edu/~gilpin/tutorial/

票数 1
EN

Stack Overflow用户

发布于 2013-09-12 21:09:01

您可以使用strace-plus来收集与每个系统调用相关联的堆栈跟踪。http://code.google.com/p/strace-plus/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6806037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档