b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

gdb 条件断点_gdb break_windows 调试工具(2)

电脑杂谈  发布时间:2017-04-10 23:05:23  来源:网络整理

设置一个条件断点

b test.c:8 if intValue == 5

condition 与break if类似,只是condition只能用在已存在的断点上

修改断点号为bnum的停止条件为expression

condition bnum expression

清楚断点号为bnum的停止条件

condition bnum

ignore 忽略停止条件几次

表示忽略断点号为bnum的停止条件count次

Ignore bnum count

clear清除所有的已定义的停止点。

clear function清除所有设置在函数上的停止点。

clear linenum清除所有设置在指定行上的停止点。

clear filename:linenum清除所有设置在指定文件:指定行上的停止点。

delete [breakpoints] [range...]删除指定的断点,breakpoints为断点号。如果不指定断点号,则表示删除所有的断点。range表示断点号的范围(如:3-7)。其简写命令为d。

比删除更好的一种方法是disable停止点,disable了的停止点,GDB不会删除,当你还需要时,enable即可,就好像回收站一样。

disable [breakpoints] [range...] disable所指定的停止点,breakpoints为停止点号。如果什么都不指定,表示disable所有的停止点。简写命令是dis.

enable [breakpoints] [range...]enable所指定的停止点,breakpoints为停止点号。

enable [breakpoints] once range…enable所指定的停止点一次,当程序停止后,该停止点马上被GDB自动disable。

enable [breakpoints] delete range…enable所指定的停止点一次,当程序停止后,该停止点马上被GDB自动删除。

我们可以使用GDB提供的command命令来设置停止点的运行命令。也就是说,当运行的程序在被停止住时,我们可以让其自动运行一些别的命令,这很有利行自动化调试。对基于GDB的自动化调试是一个强大的支持。

commands [bnum]
… command-list …
end

为断点号bnum指写一个命令列表。当程序被该断点停住时,gdb会依次运行命令列表中的命令。

例如:

break foo if x>0
commands
printfx is %d “,x
continue
end

断点设置在函数foo中,断点条件是x>0,如果程序被断住后,也就是,一旦x的值在foo函数中大于0,GDB会自动打印出x的值,并继续运行程序。

如果你要清除断点上的命令序列,那么只要简单的执行一下commands命令,并直接在打个end就行了。

run 运行程序,可简写为r

next 单步跟踪,函数调用当作一条简单语句执行,可简写为n

step 单步跟踪,函数调进入被调用函数体内,可简写为s

finish 退出函数

until 在一个循环体内单步跟踪时,这个命令可以运行程序直到退出循环体,可简写为u。

continue 继续运行程序,可简写为c

stepi或si, nexti或ni 单步跟踪一条机器指令,一条程序代码有可能由数条机器指令完成,stepi和nexti可以单步执行机器指令。

info program 来查看程序的是否在运行,进程号,被暂停的原因。

print 打印变量、字符串、表达式等的值,可简写为p


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-40594-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...