我正在修改一個相當大的代碼庫,我正在調試過程中。我的代碼沒有終止,所以我沒有得到一個堆棧跟蹤。我試圖用斷點隔離故障代碼,但不幸的是,它貫穿始終執行的部分(事務管理器),所以我點擊死亡。此外,我得到的印象是,代碼只在特定條件下破解,但大部分時間運行良好。如何在不終止的代碼中獲取最後執行的方法?
Intellij中有沒有一種方法可以查看最後一個方法是/當前執行的方法?
謝謝
我正在修改一個相當大的代碼庫,我正在調試過程中。我的代碼沒有終止,所以我沒有得到一個堆棧跟蹤。我試圖用斷點隔離故障代碼,但不幸的是,它貫穿始終執行的部分(事務管理器),所以我點擊死亡。此外,我得到的印象是,代碼只在特定條件下破解,但大部分時間運行良好。如何在不終止的代碼中獲取最後執行的方法?
Intellij中有沒有一種方法可以查看最後一個方法是/當前執行的方法?
謝謝
您可以使用跟蹤工具BTrace打印出您的程序中輸入的每個方法的名稱。 BTrace附帶一個示例腳本,名爲AllMethods
,它就是這樣做的。
你們所要做的就是啓動你的java進程,然後針對JVM的PID運行BTrace腳本。它會打印輸入的每種方法。如果你喜歡,你可以限制它到某些包。有關使用BTrace的更多信息,請查看tutorial。
與JVM的PID你的意思是進程號碼,即你使用ps/top? – ib84
@ ib84是的,您在'ps'中看到的進程ID – dogbane