Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops gdb:循环中的SIGFPE_Loops_Gdb_Sigfpe - Fatal编程技术网

Loops gdb:循环中的SIGFPE

Loops gdb:循环中的SIGFPE,loops,gdb,sigfpe,Loops,Gdb,Sigfpe,我有一个信号在循环中发生。如果我设置了一个断点,或者用stop、nopass等来处理SIGFPE,我会在这一行之后释放帧变量。在断点的情况下,我需要首先执行n,其中n是一个很大的数字,以便循环在断点上运行,直到发出SIGFPE为止。在通过句柄或断点执行之后,我释放了帧变量,因此无法反向搜索和进一步调试程序(上下文外的变量) 如何快速处理循环中的SIGFPE 谢谢 新信息:是否可以使用逻辑观察点停止程序?我进入了负责任的框架,发现所讨论的变量的值为350(应该远小于零)。为什么不呢 watch x

我有一个信号在循环中发生。如果我设置了一个断点,或者用stop、nopass等来处理SIGFPE,我会在这一行之后释放帧变量。在断点的情况下,我需要首先执行
n
,其中
n
是一个很大的数字,以便循环在断点上运行,直到发出SIGFPE为止。在通过句柄或断点执行之后,我释放了帧变量,因此无法反向搜索和进一步调试程序(上下文外的变量)

如何快速处理循环中的SIGFPE

谢谢

新信息:是否可以使用逻辑观察点停止程序?我进入了负责任的框架,发现所讨论的变量的值为350(应该远小于零)。为什么不呢

watch x0 > 100

在这一点上停止执行

您以错误的方式使用
手表

watch expr

为表达式设置观察点。当程序写入expr且其值更改时,GDB将中断

因此,您不能查看
x0>100
,但可以查看
x0
,或
数组[59]
(手表的参数是内存中的地址)

对于任务,可以使用条件中断

中断。。。如果条件

用条件cond设置断点;每次到达断点时计算表达式cond,并且仅当值非零时停止——也就是说,如果cond的计算结果为true表示上述可能的参数之一(或无参数),指定在何处中断。有关断点条件的更多信息,请参见“中断条件”一节

所以

不知道sigfpe和“无回溯”,但可以推荐使用“-O0-g”
break main.c:345 if x0>100