当前位置: 代码迷 >> 综合 >> linux c debug 工具介绍 strace , lsof, gdb, readelf,objdump
  详细解决方案

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

热度:37   发布时间:2024-01-12 22:54:09.0

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 是查看系统打开的文件 的工具。

 

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

  相关解决方案