您的位置:首页 > 其它

gdb中断点的使用

2017-04-19 20:49 190 查看
 设置断点:

     (gdb) break 断点 

     程序运行后,到达断点就会自动暂停运行。此时就可以查看该时刻的变量值,显示栈针,重新设置断点或者重新运行等。

     断点可以通过函数名,文件内的行号来设置,也可以先指定文件名再指定行号,还可以指定与暂停位置的偏移量,或者用地址来设置。

     (gdb) break 函数名

     (gdb) break 行号

     (gdb) break 文件名:行号

     (gdb) break 文件名:函数名

     (gdb) break +偏移量

     (gdb) break -偏移量

     (gdb) break *地址

     在设置断点的时候,如果不指定断点位置,就在下一行代码上设置断点。     

     条件断点

     (gdb) break 断点 if 条件

     仅在特定条件下中断。对于已存在的断点,可使用condition为其添加条件。

     (gdb) break 断点编号 条件

     而删除指定编号断点的触发条件同样使用condition。

     (gdb) condition 断点编号

     查询断点

     (gdb) info break

     监视点

     要想找到变量在何处被改变,可以使用 watch 命令(监视点, watchpoint)。

     (gdb) watch <表达式>

     <表达式>发生变化时暂停运行。<表达式>的意思是常量或变量等。

     (gdb) awatch <表达式>

     <表达式>被访问、改变时暂停运行。

     (gdb) rwatch <表达式>

     <表达式>被访问时暂停运行。

     删除断点和监视点

     用 delete 命令删除断点和监视点。

     (gdb) delete <编号>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: