gdb启动但不会逐行执行

时间:2018-02-11 03:01:18

标签: c++ gdb

所以我正在尝试使用GDB。我使用-g编译代码,然后编译gdb ./a.out

GNU gdb启动,但在我键入r后启动,程序运行就像我刚刚调用./a.out时一样。

你知道是什么原因引起的吗?我不太了解gdb而且我轻易使用它,我一直以同样的方式使用它并且从未遇到过这种类型的行为。

编辑:我在设置断点时有效。但我仍然感到困惑的是,为什么我能够使用它几个月而没有设置任何断点。

1 个答案:

答案 0 :(得分:2)

  

你知道是什么原因引起的吗?

这是预期的行为。 run命令开始执行劣质(被调试)程序。

该程序可能会遇到错误(例如崩溃),在这种情况下,GDB会收到通知,并会停止执行下级错误,让您环顾四周。

程序可能还会遇到您之前插入的断点,再次允许您查看当前状态。

或者程序可能会运行完成(如果它没有执行您设置了断点的任何代码,或者如果您没有设置断点,并且它没有任何错误这表现在一个致命的信号中)。如果发生这种情况,您可以正常退出'程序。消息。

  

我仍然感到困惑的是,为什么我能够使用它几个月而没有设置任何断点。

你的程序可能崩溃了,现在还没有。