如何找到卡住的线程

时间:2016-06-12 18:36:23

标签: c linux multithreading

我正在使用线程,我的一个(或多个)线程被卡住并且永远不会结束。问题是我找不到哪一个。

所以我想知道是否有办法找到它ID,与PS Linux命令中显示的ID相同。如果没有办法,我怎么能找到哪个线程被卡住?

Obs:已经检查了pthread_self(),这不是我想要的。

1 个答案:

答案 0 :(得分:5)

使用GDB调试器,我们可以找出哪个线程处于阻塞状态。

  1. 首先尝试使用调试符号编译代码。
  2. gdb your_file_executable
  3. 提出一些断点(你会知道究竟在哪里放置bp)
  4. info threads
  5. "信息主题"将提供有关生成/运行的线程的信息。瓦特