如何查找哪个共享库启动了线程

时间:2020-02-20 16:32:54

标签: linux multithreading unix shared-libraries

问题在于主题。让我解释一下“为什么”。 我在Red Hat Enterprise Linux Server 7.7上运行我的应用程序。当我使用htop检查性能时,我发现很少有线程占用过多的CPU。 我添加了一些调试日志记录,发现在我的代码中未创建具有较高CPU的线程。因此,我假设这些CPU贪婪线程是在我使用的第三方共享库中创建的。 所以有一个问题: 假设我有一个线程ID(17405)。有什么方法可以找到哪个共享库启动了该线程?

如果这个问题太琐碎,我深表歉意-我不久前就开始使用Linux OS。

谢谢

1 个答案:

答案 0 :(得分:0)

实际上,我找到了对我来说令人满意的解决方案。 我启动gdb,附加到我的进程,然后我可以列出进程“信息线程”中的所有线程,然后选择我感兴趣的线程,并且-瞧-我可以通过发出bt命令来查看堆栈跟踪。 我认为的作品

相关问题