首页 > 数据库技术 > 详细

GDB常用调试命令

时间:2019-09-06 16:23:40      阅读:89      评论:0      收藏:0      [点我收藏+]

gdb 常用命令:
*
【gdb [file]】:进入 gdb 调试环境 / 进入 gdb 调试环境,并加载被调试文件 file
*
【file <file>】:加载被调试文件 file
*
【r [运行时参数]】:r=run,运行被调试程序。如果没有设置断点,则运行完整个程序,如果有断点,运行到第一个断点处
*
【start】:开始调试,停在第一行代码处
*
【l [line_number]】:l=list,查看第 1 行附近的源代码 / 查看第 line_number 行附近的源代码
*
【b <line_number>】:b=breakpoint,在第 line_number 行设置断点
*
【b <function>】:让程序在调用函数时触发断点,e.g.【b fun1】。如果希望将断点设置在 C++ 类的成员函数上,可以使用【类名::函数名】的形式设置断点,e.g.【b TestClass::testFunc(int)】
*
【i b】:i b=info break,查看所有的断点信息
*
【d [break_number]】:d=delete,删除所有断点 / 删除编号为 break_number 的断点
*
【bt】:bt=backtrack,查看栈信息
*
【f <x>】:f=frame,切换到第 x 帧。其中 x 会在【bt】命令中显示,从 0 开始,0 表示栈顶。
*
【up/down <x>】:往栈顶/栈底移动 x 帧,当省略 x 时默认为 1
*
【condition】:可以在设置的条件成立时,自动停止当前的程序,先使用【b】或者【watch】设置断点,然后用【condition】来修改这个断点的停止的条件。e.g.【condition <break_number> <expression>】修改当前断点的停止条件为 expression 为真值,【condition <break_number>】 清除断点的停止条件,恢复为一般断点
*
【ignore <break_number> <count>】:忽略该断点的前 count 次停止。e.g.【ignore 1 100】忽略断点1的前100次停止,直到101次程序才停住
*
【s】:s=step,执行一行源程序代码,如果此行代码中有函数调用,则进入该函数
*
【finish】:函数结束,【s】进入到函数后,可用该命令跳出被调函数,返回调用函数
*
【n】:n=next,执行一行源程序代码,不管该行有没有函数调用
*
【c】:c=continue,继续执行被调试程序,直至下一个断点或程序结束
*
【u】:u=until,直到当前循环完成
*
【p <变量名>】:p=print,临时显示某个变量
*
【display <变量名>】:跟踪某个变量,一直显示
*
【undisplay <已被跟踪的某个变量编号的编号>】:取消跟踪某个变量
*
【watch <expression>】:expression 可以是变量、地址、表达式。监视 expression 的值,一旦值有变化,程序停住。取消监视:先用【i b】查看所有断点信息,其中包含监视 expression,然后【d <expression 的编号>】取消监视
*
【set args <argv1> <argv2> ...】:设置运行时参数
*
【show args】:查看运行时参数
*
【q】:q=quit,退出 gdb 调试环境
*
【help <cmd>】:gdb 帮助命令
*
【回车】:重复上次命令

GDB常用调试命令

原文:https://www.cnblogs.com/cy1993/p/11474818.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!