GDB调试
Boll
这个作者很懒,什么都没留下…
展开
-
用GDB调试程序(六)
<br />七、设置显示选项<br /> GDB中关于显示的选项比较多,这里我只例举大多数常用的选项。<br /> set print address <br /> set print address on <br /> 打开地址输出,当程序显示函数信息时,GDB会显出函数的参数地址。系统默认为打开的,如:<br /> <br /> (gdb) f<br /> #0 set_quotes (lq=0x34c78 "<<", rq=0转载 2010-09-06 18:10:00 · 500 阅读 · 0 评论 -
用GDB调试程序(七)
<br />改变程序的执行<br />———————<br /> 一旦使用GDB挂上被调试程序,当程序运行起来后,你可以根据自己的调试思路来动态地在GDB中更改当前被调试程序的运行线路或是其变量的值,这个强大的功能能够让你更好的调试你的程序,比如,你可以在程序的一次运行中走遍程序的所有分支。<br /> <br /> <br />一、修改变量值<br /> 修改被调试程序运行时的变量值,在GDB中很容易实现,使用GDB的print命令即可完成。如:<br /> <br />转载 2010-09-06 18:12:00 · 588 阅读 · 0 评论 -
用GDB调试程序(一)
<br />用GDB调试程序<br />GDB概述<br />————<br />GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道理。<br />一般来说,GDB主要帮忙你完成下面四个方面的功能:<br /> 1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。<br /转载 2010-09-06 17:56:00 · 456 阅读 · 0 评论 -
用GDB调试程序(二)
GDB的命令概貌———————启动gdb后,就你被带入gdb的调试环境中,就可以使用gdb的命令开始调试程序了,gdb的命令可以使用help命令来查看,如下所示: /home/hchen> gdb GNU gdb 5.1.1 Copyright 2002 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welco转载 2010-09-06 18:01:00 · 577 阅读 · 0 评论 -
用GDB调试程序(三)
<br />四、维护停止点 <br />上面说了如何设置程序的停止点,GDB中的停止点也就是上述的三类。在GDB中,如果你觉得已定义好的停止点没有用了,你可以使用delete、clear、disable、enable这几个命令来进行维护。<br /> clear<br /> 清除所有的已定义的停止点。<br /> clear <function><br /> clear <filename:function><br /> 清除所有设置在函数上的停止点。<br /转载 2010-09-06 18:03:00 · 492 阅读 · 0 评论 -
用GDB调试程序(四)
<br />查看栈信息<br />—————<br />当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。<br />下面是一些查看函数调用栈信息的GDB命令:<br /> backtrace <br /> bt <br /> 打印当前的函数调用栈的所有信息。如:<br /> <br /> (gdb) b转载 2010-09-06 18:06:00 · 494 阅读 · 0 评论 -
用GDB调试程序(五)
<br />查看运行时数据<br />———————<br /> <br /> 在你调试程序时,当程序被停住时,你可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。print命令的格式是:<br /> <br /> print <expr><br /> print /<f> <expr><br /> <expr>是表达式,是你所调试的程序的语言的表达式(GDB可以调试多种编程语言),<f>是输出的格式,比如,如果要把表达式转载 2010-09-06 18:08:00 · 497 阅读 · 0 评论