2014-10-30 35 views
0

我想用pstack來打印特定進程的所有線程的stacktrace,但我只得到主線程。使用pstack打印所有線程stacktrace

按照pstack的描述:
的pstack - 打印正在運行的進程
的堆棧跟蹤...
如果過程是一個線程組的一部分,那麼pstack會打印出每個堆棧跟蹤組中的線程。

我用gdb附加到進程並驗證有更多的線程。我用一個線程id運行pstack,並得到了所需的結果。
[我也用PS -j,看到其他過程與同組ID,但我不認爲這是相關]

我看了相關的pstack的問題,但並沒有看到任何可以幫我。還搜索谷歌,但沒有看到任何人詢問它。

感謝


我沒有注意到 「螺紋信息轉儲,你必須使用LinuxThreads的libpthread.so庫的調試感知版本。」

+1

歡迎來到Stack Overflow。這不是在這裏提出問題的好方法。你有沒有嘗試解決你的問題?首先顯示你的努力,以便人們可以展示他們的努力請閱讀[常見問題](http://stackoverflow.com/tour),[如何問](http://stackoverflow.com/help/how-to-ask)和[幫助中心](http:// stackoverflow .com/help)作爲開始。 – 2014-10-30 13:43:32

+0

該問題已編輯。好點嗎? – 2014-11-03 09:33:18

回答

1

問題出在libpthread.so庫版本中。根據http://linuxcommand.org/man_pages/pstack1.html: 「對於要轉儲的線程信息,您必須使用LinuxThreads libpthread.so庫的調試版本。」

因爲我無法替換庫,所以我會單獨找到線程標識並在每個標識上使用pstack。 希望它能幫助別人。