我仔細看過這些「可能已經有答案的問題」,並且很驚訝地發現我找不到我要求的東西......Java - 如何從Runnable之前獲取堆棧跟蹤?
當(例如)EDT中發生異常時,或者您只是想檢查堆棧,無論出於何種原因,只需將堆棧找回到Runnable的run()即可。但是,如何找到運行Runnable的線程(以及棧)呢?並尋找線程(和因此堆棧)運行,線程的Runnable ...等等...等等...
我知道Thread.getAllStackTraces()...但如何可能一個確定哪些線程稱爲「當前線程」?除了「叫」不是正確的詞...我的意思是哪個跑當前線程。
你的問題不是很具體,但通常是寫在stacktrqce。你的堆棧跟蹤是怎樣的? – Dici
沒有煩人,我想知道你對Runnables有多少了解,例如Runnables使用EventQueue.invokeLater()運行。 Thread.currentThread.dumpStack()不會顯示比「run」更遠的堆棧... –
'Runnable'只是一個接口,你可以以任何你想要的方式使用它...自從Java 8使用這個接口不時爲我的lambdas,這只是一個使用它的例子,而不調用'invokeLater'。你甚至不顯示任何代碼,所以沒有辦法給你一個很好的答案。你的問題是模糊的,不僅如此,你也缺乏謙卑 – Dici