gdb单步调试(中)

gdb单步调试(中)

ID:37724062

大小:37.50 KB

页数:11页

时间:2019-05-29

gdb单步调试(中)_第1页
gdb单步调试(中)_第2页
gdb单步调试(中)_第3页
gdb单步调试(中)_第4页
gdb单步调试(中)_第5页
资源描述:

《gdb单步调试(中)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、设置断点(BreakPoint)我们用break命令来设置断点。正面有几点设置断点的方法:break在进入指定函数时停住。C++中可以使用class::function或function(type,type)格式来指定函数名。break在指定行号停住。break+offsetbreak-offset在当前行号的前面或后面的offset行停住。offiset为自然数。breakfilename:linenum在源文件filename的linenum行处停住。break

2、filename:function在源文件filename的function函数的入口处停住。break*address在程序运行的内存地址处停住。breakbreak命令没有参数时,表示在下一条指令处停住。break...if...可以是上述的参数,condition表示条件,在条件成立时停住。比如在循环境体中,可以设置breakifi=100,表示当i为100时停住程序。查看断点时,可使用info命令,如下所示:(注:n表示断点号)infobreakpoints[n]infobre

3、ak[n]二、设置观察点(WatchPoint)观察点一般来观察某个表达式(变量也是一种表达式)的值是否有变化了,如果有变化,马上停住程序。我们有下面的几种方法来设置观察点:watch为表达式(变量)expr设置一个观察点。一量表达式值有变化时,马上停住程序。rwatch当表达式(变量)expr被读时,停住程序。awatch当表达式(变量)的值被读或被写时,停住程序。infowatchpoints列出当前所设置了的所有观察点。三、设置捕捉点(CatchPoint)你可设置

4、捕捉点来补捉程序运行时的一些事件。如:载入共享库(动态链接库)或是C++的异常。设置捕捉点的格式为:catch当event发生时,停住程序。event可以是下面的内容:1、throw一个C++抛出的异常。(throw为关键字)2、catch一个C++捕捉到的异常。(catch为关键字)3、exec调用系统调用exec时。(exec为关键字,目前此功能只在HP-UX下有用)4、fork调用系统调用fork时。(fork为关键字,目前此功能只在HP-UX下有用)5、vfork调用系统调用vfork

5、时。(vfork为关键字,目前此功能只在HP-UX下有用)6、load或load载入共享库(动态链接库)时。(load为关键字,目前此功能只在HP-UX下有用)7、unload或unload卸载共享库(动态链接库)时。(unload为关键字,目前此功能只在HP-UX下有用)tcatch只设置一次捕捉点,当程序停住以后,应点被自动删除。四、维护停止点上面说了如何设置程序的停止点,GDB中的停止点也就是上述的三类。在GDB中,如果你觉得已定义好的停止点没有用了,

6、你可以使用delete、clear、disable、enable这几个命令来进行维护。clear清除所有的已定义的停止点。clearclear清除所有设置在函数上的停止点。clearclear清除所有设置在指定行上的停止点。delete[breakpoints][range...]删除指定的断点,breakpoints为断点号。如果不指定断点号,则表示删除所有的断点。range表示断点号的范围(如

7、:3-7)。其简写命令为d。比删除更好的一种方法是disable停止点,disable了的停止点,GDB不会删除,当你还需要时,enable即可,就好像回收站一样。disable[breakpoints][range...]disable所指定的停止点,breakpoints为停止点号。如果什么都不指定,表示disable所有的停止点。简写命令是dis.enable[breakpoints][range...]enable所指定的停止点,breakpoints为停止点号。enable[breakpoints

8、]oncerange...enable所指定的停止点一次,当程序停止后,该停止点马上被GDB自动disable。enable[breakpoints]deleterange...enable所指定的停止点一次,当程序停止后,该停止点马上被GDB自动删除。五、停止条件维护前面在说到设置断点时,我们提到过可以设置一个条件,当条件成立时,程序自动停止,这是一个非常强大的功能,这里,我想专门说说这个条件的相关维护命令。一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。