0
我想知道是否可以使用JVMTI在Java中動態檢測死鎖。有兩個事件使用synchronized聲明顯示在監視器上操作:使用JVMTI進行死鎖檢測
監視器爭鳴輸入
發送當線程試圖進入一個Java編程語言監視器已經被另一個線程獲得。
監視器爭進入
當一個線程在等待被另一線程釋放後進入Java編程語言監視器發送。
這意味着,與JVMTI我只能看到那些已經鎖定的顯示器。我想重建一個等待圖,但沒有事件表明我,獲得的鎖是而不是由任何線程持有。這是不可能的。
有替代品嗎? Unix上的SIGQUIT命令允許顯示死鎖的線程轉儲,看起來這在JVMTI中是不可能的。
是的,但這將是使用Java代理,而不是本地代理。 – 2011-06-02 15:35:40
您可以從本地代碼調用Java代碼。我看不出有什麼問題。 – 2011-06-02 15:37:19
如何將這一行代碼轉換爲字節碼? – 2011-06-02 15:39:22