如何在发生分段错误之前用gdb重新运行程序?

时间:2011-07-01 09:01:44

标签: gdb

我的程序有一个分段故障问题,但它很少出错(一次20次或更多次),并且要在GDB中调试它,我需要手动重新运行程序,直到发生分段错误(在重新运行的半天期间)只有一次失败:()。

所以问题是,有没有办法告诉GDB重新运行程序,直到某些段错误?

2 个答案:

答案 0 :(得分:60)

在程序的退出处放置一个触发run命令的断点,不要忘记set pagination off。有关设置命令的信息,请参阅gdb文档的Breakpoint Command Lists部分。简而言之:

set pagination off
break exit
commands
run
end

commands行之后,您将看到输入接下来的两行作为到达断点时要执行的命令。

答案 1 :(得分:2)

(gdb) set pagination off
(gdb) break exit
(gdb) commands
>run
>end
(gdb) run