linux下产生断错误的调试方法
1.编译代码时,需要加上-g
2.开发板上运行
# ulimit -c unlimited -此处是设置生成的core文件大小
在开发板上运行时,如果有断错误会有Segmentation fault
(core dumped),红色标记生成了core文件。
如果没有生成core文件一般是没有设置core文件大小
3.将可执行程序sea,和生成的sea.***core文件拷到交叉编译服务器(如192.168.189.109)上.
4.在服务器上用交叉编译器自带的gdb进行出错位置的定位
(1)将openwrt的工具链加到PATH中,下面是红色/yourpath是我存放openwrt-3.10.14的路径,需要替换成你自己的编译路径
#export PATH=$PATH:/yourpath/openwrt-3.10.14/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin
#
mipsel-openwrt-linux-uclibc-gdb sea sea.946.11.1450080706.core
使用bt命令即可看到程序出错的地方。