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

因此,我想知道是否可以找到它的ID,即PS Linux命令中显示的相同ID。如果没有办法,我如何找到哪个线程卡住了?

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

最佳答案

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

  • 首先尝试用调试符号编译代码。
  • gdb your_file_executable
  • 设置了一些断点(您会知道确切地将bp放在哪里)
  • info threads

  • “信息线程”将提供有关生成/正在运行的线程的信息。 w

    10-07 19:01
    查看更多