所以我正在尝试使用GDB。我使用-g
编译代码,然后编译gdb ./a.out
GNU gdb启动,但在我键入r
后启动,程序运行就像我刚刚调用./a.out
时一样。
你知道是什么原因引起的吗?我不太了解gdb而且我轻易使用它,我一直以同样的方式使用它并且从未遇到过这种类型的行为。
编辑:我在设置断点时有效。但我仍然感到困惑的是,为什么我能够使用它几个月而没有设置任何断点。
答案 0 :(得分:2)
你知道是什么原因引起的吗?
这是预期的行为。 run
命令开始执行劣质(被调试)程序。
该程序可能会遇到错误(例如崩溃),在这种情况下,GDB会收到通知,并会停止执行下级错误,让您环顾四周。
程序可能还会遇到您之前插入的断点,再次允许您查看当前状态。
或者程序可能会运行完成(如果它没有执行您设置了断点的任何代码,或者如果您没有设置断点,并且它没有任何错误这表现在一个致命的信号中)。如果发生这种情况,您可以正常退出'程序。消息。
我仍然感到困惑的是,为什么我能够使用它几个月而没有设置任何断点。
你的程序可能崩溃了,现在还没有。