你会使用GDB调试命令?.doc
《你会使用GDB调试命令?.doc》由会员分享,可在线阅读,更多相关《你会使用GDB调试命令?.doc(4页珍藏版)》请在三一文库上搜索。
1、你会使用GDB调试命令?1、查看源码:list 函数名行数2、暂停程序(1)设置断点:a、break + 源代码行号源代码函数名内存地址b、break . if condition .可以是上述任一参数,condiTIon是条件。例如在循环体中可以设置break . if i = 100 来设置循环次数(2)观察断点:a、watch + 变量表达式 当变量或表达式值改变时即停住程序。b、rwatch + 变量表达式 当变量或表达式被读时,停住程序。c、awatch + 变量表达式 当变量或表达式被读或被写时,停住程序。(3)设置捕捉点:catch + event 当event发生时,停住程序。
2、event可以是下面的内容:a、throw 一个C+抛出的异常。(throw为关键字)b、catch 一个C+捕捉到的异常。(catch为关键字)c、exec 调用系统调用exec时。(exec为关键字,目前此功能只在HP-UX下有用)d、fork 调用系统调用fork时。(fork为关键字,目前此功能只在HP-UX下有用)e、vfork 调用系统调用vfork时。(vfork为关键字,目前此功能只在HP-UX下有用)f、load 或 load 载入共享库(动态链接库)时。(load为关键字,目前此功能只在HP-UX下有用)g、unload 或 unload 卸载共享库(动态链接库)时。(un
3、load为关键字,目前此功能只在HP-UX下有用)(4)捕获信号:handle + argu + signalssignals:是Linux/Unix定义的信号,SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号; SIGKILL表示终止程序运行的信号,等等。argu:nostop 当被调试的程序收到信号时,GDB不会停住程序的运行,但会打出消息告诉你收到这种信号。stop 当被调试的程序收到信号时,GDB会停住你的程序。print 当被调试的程序收到信号时,GDB会显示出一条信息。noprint 当被调试的程序收到信号
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 GDB 调试 命令
链接地址:https://www.31doc.com/p-3381583.html