c - 使用 GDB 找出我的程序在哪里挂起?

标签 c gdb

我如何获取 GDB 中所有线程的所有堆栈跟踪?

我需要弄清楚我的程序在哪里挂起以及是否是外部框架导致的。我需要类似 backtrace 命令的东西,但它可以获取所有痕迹。

最佳答案

thread apply all <command>运行 <command>对于所有线程,例如:

(gdb) thread apply all backtrace

此外,您可能会发现以下内容很有用: gdb manual - Debugging Programs with Multiple Threads .

关于c - 使用 GDB 找出我的程序在哪里挂起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6239317/

相关文章:

debugging - GDB:如何列出用于编译的所有源文件

debugging - KDbg 调试器和程序集有问题

linux - 最小核心转储(堆栈跟踪+仅限当前帧)

c - 这个宏返回什么以及如何使用它?

c++ - 为什么 size_t 存在于 C/C++ 中并且可以/应该被替换?

c - 在 C 中释放二维数组的问题

c++ - 如何在 CentOS 7 中为 C++ 应用程序生成具有完整回溯跟踪的核心转储文件

java - Textview 不显示 jni

c++ - 将 WCHAR 用作 CHAR?

c - 如何获取此字符串的信息?