造价通

反馈
取消

热门搜词

造价通

取消 发送 反馈意见

gdb断点管理

2022/07/16228 作者:佚名
导读:1.显示当前gdb的断点信息: (gdb) info break 他会以如下的形式显示所有的断点信息: Num Type Disp Enb Address What 1 breakpoint keep y 0x000028bc in init_random at qsort2.c:155 2 breakpoint keep y 0x0000291c in init_organ at qsort2.

1.显示当前gdb的断点信息:

(gdb) info break

他会以如下的形式显示所有的断点信息:

Num Type Disp Enb Address What

1 breakpoint keep y 0x000028bc in init_random at qsort2.c:155

2 breakpoint keep y 0x0000291c in init_organ at qsort2.c:168

删除指定的某个断点:

(gdb) delete breakpoint 1

该命令将会删除编号为1的断点,如果不带编号参数,将删除所有的断点

(gdb) delete breakpoint

禁止使用某个断点

(gdb) disable breakpoint 1

该命令将禁止断点1,同时断点信息的 (Enb)域将变为 n

允许使用某个断点

(gdb) enable breakpoint 1

该命令将允许断点1,同时断点信息的 (Enb)域将变为 y

清除源文件中某一代码行上的所有断点

(gdb)clear number

注:number 为源文件的某个代码行的行号

2.设置条件断点

例子:

#include
 
  intmain(void)
{
inti=0;
intsum=0;for(i=1;i<=200;i  )
{
sum =i;
}printf("%d
",sum);
return0;
}
 

gdb可以设置条件断点,也就是只有在条件满足时,断点才会被触发,命令是“break … if cond”。以上面程序为例:

(gdb)start
Temporarybreakpoint1at0x4004cc:filea.c,line5.
Startingprogram:/data2/home/nanxiao/aTemporarybreakpoint1,main()ata.c:5
5inti=0;
(gdb)b10ifi==101
Breakpoint2at0x4004e3:filea.c,line10.
(gdb)r
Startingprogram:/data2/home/nanxiao/aBreakpoint2,main()ata.c:10
10sum =i;
(gdb)psum
$1=5050

可以看到设定断点只在i的值为101时触发,此时打印sum的值为5050。

*文章为作者独立观点,不代表造价通立场,除来源是“造价通”外。
关注微信公众号造价通(zjtcn_Largedata),获取建设行业第一手资讯

热门推荐

相关阅读