2011-10-28 40 views
2

我有一個似乎掛在solaris上的進程,我試圖附加到使用GDB的進程,看看它在做什麼,但沒有運氣。Solaris SPARC:如何查看懸掛進程在做什麼?

沒有錯誤,從我所看到的,它只是坐在那裏......

有沒有我可以用它來看看有什麼進程停留在任何其他工具或技術?

感謝您的幫助

林頓

+0

爲什麼GDB無法附加進程? –

回答

0

使用強大的DTrace工具。 這裏簡短的introduction如何跟蹤用戶進程。

4

pstack <pid>將打印您這個過程中的所有線程都在做什麼(全堆棧跟蹤,包括函數名,如果你的二進制文件,不會被剝離。

truss就是Linux的strace等價的。它會顯示所有的系統調用該過程正在進行,它可能會幫助你進行調試

DTrace是一個偉大的調試瑞士軍刀,它可以向你展示幾乎所有你能想到的東西,缺點是它需要用root全球區域的權限,需要一些時間來學習,但是值得花時間去研究。