linux c debug 工具介绍 strace , lsof, gdb, readelf,objdump

linux c 中debug 远比coding 重要,下面我们就介绍一下 strace,gdb,readelf , objdump 的 用途和各自的用处。

如果需要追踪程序的run的追踪 就需要用到,gdb 和 strace 但是 gdb 的trace link 比较麻烦如果是嵌入需要设置gdb server 这个比较麻烦,所以在程序追踪上strace 是比较方便的, 他比较小巧不需要server 但是没有gdb 那样 认为可控(gdb 可以断点 运行)。 如果需要最总程序运行到那里停止在哪了。 这非常方便。

gdb 在调试 core dump 上非常有用,这个不需要gdb server 只要你把kernel 开了core dump 的文件 limt -c 2M   echo filename> //proc/sys/kernel/core_pattern   这样只要产生了core dump 的文件 就可以 再放回到编译的地方 去调试 就可以得到 core dump产生的地方了。

readelf 可以查看程序的文件符号 (包括函数 变量 和 引用的lib 的符号信息)

objdump 和readelf 一样 可以查看 程序的符号表。

lsof 是查看系统打开的文件 的工具。

 

一般而言根据这些信息就可确定 出错的 地方。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值