在 Java 中调试挂起的应用程序很容易。您可以获取应用程序的内存转储并使用 eclipse jvm 转储分析器来查看线程的状态以及每个线程被阻塞的位置?
C++ 是否存在类似的东西?
最佳答案
gdb 中神奇的调用是:
thread all apply bt
为所有线程运行 bt(回溯)命令。除非您完全剥离了您的程序,否则您应该能够看到每个函数的名称。
这适用于实时调试和事后调试(即针对核心运行 gdb)。
关于c++ - 如何调试挂起(死锁)的 C++ 多线程应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1506131/