【问题标题】:How to find which shared library started a thread如何找到哪个共享库启动了一个线程
【发布时间】:2020-06-05 01:18:24
【问题描述】:

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

如果问题太琐碎,我深表歉意 - 我不久前开始使用 Linux 操作系统。

谢谢

【问题讨论】:

标签: linux multithreading unix shared-libraries


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-11-27
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-26
    • 1970-01-01
    相关资源
    最近更新 更多