1日的突袭多线程应用程序步入使用并行线程创建多线程aplication通过与GDB
我尝试使用gdb调试,但得到一些奇怪的意外行为
试图确定其是否我还是GDB在故障
场景:
- 主线程创建一个子线程。
- 我把一个断点的子线程线FN
- GDB停在该断点没有问题
- 我肯定现在有2个线程与
info threads
- 我也检查了第二个线程出演,即它是
gdb
s目的的当前线程 - 这里是问题所在,当我现在点击
n
来逐步执行线程fn中的下一行时,父线程(线程1)简单地恢复并完成并退出gdb。
这是正确的行为?
如何在第二个线程中逐行执行正在执行的线程fn代码gdb
?
换句话说,即使线程2由gdb
确认为当前线程,当我打n
,这似乎是击中c
在父线程,即父线程的当量(线程1)刚刚恢复执行,完成和退出。
处于亏损至于如何调试多线程与gdb
表现为它是目前
我用gdb从emacs25内,即M-x gud-gdb
如果你有谷歌,有关于多线程调试的信息。 –