gpt4 book ai didi

c - GDB 条件正则表达式中断

转载 作者:太空宇宙 更新时间:2023-11-04 02:51:30 25 4
gpt4 key购买 nike

gdb 是否允许有条件的正则表达式中断?

我有一个源文件 timer.c、一个 int64_t 节拍和一个返回它的函数 timer_ticks()。都没有

rbreak timer.c:. if ticks >= 24

也不

rbreak timer.c:. if ticks_ticks() >= 24

放置任何断点。

但是,如果我删除正则表达式部分或条件部分,则会设置断点。

最佳答案

这是完成它的一种方法。它需要几个步骤,并且需要对 gdb 的输出进行一些目视检查。

首先,运行rbreak 命令并记下它设置的断点号。

(gdb) rbreak f.c:.
Breakpoint 1 at 0x80486a7: file f.c, line 41.
int f();
Breakpoint 2 at 0x80486ac: file f.c, line 42.
int g();
Breakpoint 3 at 0x80486b1: file f.c, line 43.
int h();
Breakpoint 4 at 0x8048569: file f.c, line 8.
int main(int, char **);

现在,遍历该范围的断点并使用 cond 命令为每个断点添加条件:

(gdb) set $i = 1
(gdb) while ($i <= 4)
>cond $i ticks >= 24
>set $i = $i + 1
>end
(gdb) info breakpoints
Num Type Disp Enb Address What
1 breakpoint keep y 0x080486a7 in f at f.c:41
stop only if ticks >= 24
2 breakpoint keep y 0x080486ac in g at f.c:42
stop only if ticks >= 24
3 breakpoint keep y 0x080486b1 in h at f.c:43
stop only if ticks >= 24
4 breakpoint keep y 0x08048569 in main at f.c:8
stop only if ticks >= 24

关于c - GDB 条件正则表达式中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21667191/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com