linux下调试

linux下调试程序,除了常规的core-dump,gdb,还有一些技巧,在2014年3月18日学来,指导:温老师。

一、可疑地方输出调试信息;

二、编译程序,但是并不链接;例如指令:/opt/tilera/TileraMDE-4.1.2.149467/tilegx/bin/tile-gcc -Wl,--fatal-warnings -std=gnu99 -Wall -Werror -g -O0  -E  c2c_sender.c,这样,程序中的库函数均被替换,库函数内部的错误有可能被定位到;

三、断点设置在exit和_exit,库函数可能在一定的位置调用到退出函数,这样调试时可以定位到底是哪个函数退出;

四、对于程序退出的错误码,要辨别到底是属于Linux系统的错误码,还是第三方库的错误码,这样在定位错误时可以增效;记住Linux的错误码具体存放在哪个头文件;以及第三方库的错误码文件;必要时,在当前目录执行:grep -r  ERR__*  ./*   ,其中 -r 代表在所有当前目录,包括当前目录的子目录;

五、牢记常用的指令及用法,而不是每次都查询,时间的效率可能是几何级的差距;

六、注意观察平时工作中的所见,what are they ?  why and how ?

你可能感兴趣的:(linux下调试)