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程序名称”-编号
- copy你的core dump文件以及应用程序到某个目