无法使用GDB跳转

时间:2016-01-16 23:12:25

标签: rhel gdb

我通常使用GDB来调试某些代码 - 尽管这是我在愤怒中实际使用它的第一个项目 - 但是一个特定的可执行文件会给我带来问题。它是作为一个单独的进程产生的,我想调试前几行,所以我添加了一个循环,以便我可以在闲暇时将GDB附加到进程,然后跳转到下一行。问题是,它比下一行跳得更远。我确定代码和源是同步的,因为循环的添加在源级别都是可见的并且是发生的事情(即应用程序"挂起"并且cpu与100%挂钩)。在未进行调试时(以及删除初始循环时),应用程序似乎表现良好。我该如何开始诊断这个问题?这是GDB的最新版本,我正在调试c ++ exes。

1 个答案:

答案 0 :(得分:0)

为什么不把循环写为

,而不是强制进程跳转
int     loopflag = 0;

while (loopflag == 0)
        sleep(1);

然后使用gdb设置loopflag非零?