arm-linux-gdb在调试core dump文件的用法
2014-03-12 11:05
826 查看
1·关于gdb调试
在网上能够搜索到很多关于gdb调试以及gdb命令的使用,在调试程序的时候非常的方便,但是对于嵌入式Linux上应用程序开发呢?可能很多都是在使用“printf”大法,的确printf可以解决问题,但是如果我们能够精确定位出错问题的代码岂不是更好?然后再嵌入式linux上,可能你会使用arm-linux-gdb做一个stub来进行调试,由于在实际情况中,很多程序是放在脚本里,通过脚本来加载,而且程序繁多,不知道gdb对于这种方法可有什么比较好的调试方法(有的话请联系我qq353758205)。
2·嵌入式使用arm-linux-gdb
如果你的嵌入式程序经常出现segment fault,每次你都要去看源码,用printf来定位出错地方,工作量非常巨大麻烦,这里提供一个本人在实际运行中可行的方法供大家参考;1.确保你的程序是加了调试信息-g,否则可能没用
2.设置:在启动你的程序之间,有必要对的开发板做一些简单的设置
ulimit 查看你的系统对资源的限制情况
ulimit -c unlimited 用来设置运行你的系统在应用程序崩溃之时可以生产core dump文件
echo '/home/core-%p-%e' > "/proc/sys/kernel/core_pattern" 用于设置core dump文件最后保存文件目录,这里保存到/home/目录下,文件名以core-“出现的core程序名称”-编号
3.利用arm-linux-gdb调试
copy你的core dump文件以及应用程序到某个目录下
运行arm-linux-gdb 你的程序 --quiet
进入gdb之后:运行core “core dump”文件
set solib-absolute-prefix 你的lib库目录 ,一般就是你的rootfs文件的lib库目录(可选,最好设置,否则某些函数会显示“??”)
最有用的命令来了,bt or BT',(后面加一个‘/"可以详细显示)程序当时运行时的一个堆栈调用信息
可以使用list function来查看源码
以上内容是本人在根据Linux内核调试工具crash参考出来的,如果某人对linux内核调试有感兴趣,可以查找关于crash工具的使用,里面提供的一些命令是相当不错的,对于调试内核很有帮助!
如果在使用过程中遇到什么困难,可以联系我!
相关文章推荐
- arm-linux-gdb 环境搭建及调试core文件
- arm-linux-gdb+gdbserver环境搭建以及远程调试 及调试core文件
- gdb用法(二) 在Linux下产生并调试core文件
- arm-linux-gdb(宿主机)+gdbserver(目标机)远程调试
- 用arm-linux-gdb调试ARM上的应用程序
- ubuntu下arm-linux-gdb+JLinkGDBServer调试TQ2440
- linux下生成core dump文件调试方法及设置
- 使用gdbserver+arm-linux-gdb 调试应用程序
- Linux下gdb调试用法命令(转载)
- 调试:coredump和linux下gdb单步调试、传递配置文件路径信息
- sunsunsun000的分享 分享 Linux环境生成core文件 &&Linux Core Dump 配置与调试
- ubuntu下arm-linux-gdb+JLinkGDBServer调试TQ2440
- gdb调试常用实用命令和core dump文件的生成
- linux下用gdb调试core文件
- linux调试工具gdb用法
- 编译arm-linux-gdb和远程调试arm板程序
- linux下生成core dump文件及调试
- arm-linux-gdb+gdbserver环境搭建以及远程调试
- 用gdb调试core dump文件
- ubuntu下arm-linux-gdb+JLinkGDBServer调试TQ2440