【发布时间】:2020-03-10 01:13:27
【问题描述】:
我能够在 CLion 调试中运行我的多线程 C++ 应用程序。但是,每次我进入下一条指令时,调用堆栈在线程之间跳转实际上是没有用的。大约 3 次跳跃后,我不知道线程在哪里。而且不得不从下拉菜单中选择线程太尴尬了。
似乎应该有一种方法可以分别监控每个线程。其他 JetBrains 产品中有一个名为“Parallel Stacks”的功能似乎可以解决这个问题。但我在 CLion (2018.2.5) 中看不到它。
理想情况下,可以强制 IDE 停留在(并单步执行)一个线程,而其他线程在后台运行。如果在另一个线程中遇到断点,则应出现一个单独的调用堆栈,指示它已停止,但源代码显示将停留在被监视的线程上。
是否有某种方法可以实现这样的目标,或者是否有其他方案可以有效地调试多线程应用程序?
【问题讨论】:
标签: multithreading debugging clion