当前位置: 技术问答>linux和unix
大家在linux上都是如何调试程序的?
来源: 互联网 发布时间:2016-04-05
本文导语: 俺对调试程序没有系统的学习过,只知道一点点指出的东西(next, stop什么的) 现在自己刚工作,还没有写过多大的项目,所以这方面也许还没有用得到吧。 自己写的东西都是比较小的东西吧,调试的...
俺对调试程序没有系统的学习过,只知道一点点指出的东西(next, stop什么的)
现在自己刚工作,还没有写过多大的项目,所以这方面也许还没有用得到吧。
自己写的东西都是比较小的东西吧,调试的时候首选是:多printf信息,看值什么的,
如果这个搞不定了,再看看gdb能不能办得到(一些比较简单的调试,查看内存等基本操作)
问题:
(1) 大家都是如何在linux上调试程序的?
(2) 给推荐一些详细系统讲解调试的文章来看看。
现在自己刚工作,还没有写过多大的项目,所以这方面也许还没有用得到吧。
自己写的东西都是比较小的东西吧,调试的时候首选是:多printf信息,看值什么的,
如果这个搞不定了,再看看gdb能不能办得到(一些比较简单的调试,查看内存等基本操作)
问题:
(1) 大家都是如何在linux上调试程序的?
(2) 给推荐一些详细系统讲解调试的文章来看看。
|
运行程序,看运行结果
|
主要还是printf 或者 printk,很少用其它的
|
这个最常用。
有的时候也用fprintf往文件里写日志。
实在逼得没办法的时候,用gdb工具。
|
gdb。很强大
http://download.csdn.net/source/235455
http://download.csdn.net/source/195403
http://download.csdn.net/source/166464
http://download.csdn.net/source/296162
http://download.csdn.net/source/254505
http://download.csdn.net/source/235455
http://download.csdn.net/source/195403
http://download.csdn.net/source/166464
http://download.csdn.net/source/296162
http://download.csdn.net/source/254505
|
gdb
printf
printf
|
ddd + gdb + printf + printk
|
自己写的程序好说,可以输出log,可以用gdb调试,可以用valgrind、gprof等查看。
如果是别人的程序,无法输出日志,也无法进行源代码级调试,可以使用strace、ps、pmap、pstack等等进行跟踪查看。
如果是别人的程序,无法输出日志,也无法进行源代码级调试,可以使用strace、ps、pmap、pstack等等进行跟踪查看。
|
Linux Debugging and Performance Tuning: Tips and Techniques
昨天正好发现这本书,有时候得好好看看。
昨天正好发现这本书,有时候得好好看看。
|
gdb
|
要说的大家都说完了,呵呵。
|
一般的大型项目都是看日志调试的,不推荐gdb,很不方便,而且很多时候是在生产环境下运行程序,根本不给gdb的机会,只是事后拷贝出日志来供分析
|
dbx。呵呵,很实用。。。
|
gdb 啊 找个教程看下 很强大的 我就是在网上找的教程自己看的
|
gdb/kdbg(图形界面)/core/valgrind
|
没有仿真环境的调试真是恶梦啊。。。记得那时候,改一次代码就要烧一次板子再来。
时间都在等上面了。眼巴巴的看着机框,看着黑屏上慢慢跳动的字符。。。。。。。。
时间都在等上面了。眼巴巴的看着机框,看着黑屏上慢慢跳动的字符。。。。。。。。