簡體   English   中英

如何找到哪個共享庫啟動了一個線程

[英]How to find which shared library started a thread

問題出在題目上。 讓我解釋一下“為什么”。 我在 Red Hat Enterprise Linux Server 7.7 上運行我的應用程序。 當我使用 htop 檢查性能時,我發現很少有線程占用太多 CPU。 我添加了一些調試日志,發現我的代碼中沒有創建具有高 CPU 的線程。 所以我假設這些 CPU 貪婪線程是在我使用的 3rd 方共享庫中創建的。 所以有一個問題:假設我有一個線程 id (17405)。 有沒有辦法找到哪個共享庫啟動了這個線程?

如果問題太瑣碎,我深表歉意 - 我不久前開始使用 Linux 操作系統。

謝謝

實際上,我找到了令我滿意的解決方案。 我啟動 gdb,附加到我的進程,然后我可以列出進程“信息線程”中的所有線程,然后我選擇我感興趣的線程,然后 - 瞧 - 我可以通過發出 bt 命令查看堆棧跟蹤。 我認為的作品

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM