我設計一個Eclipse插件,它在發生異常時,從控制檯讀取堆棧跟蹤如何以編程方式讀取源代碼行。其中發生異常
插件基本上是用於基於搜索內容時發生異常。用戶明確地從堆棧跟蹤選擇關鍵字,但隱含插件需要從源代碼中導致異常的行,這樣加在一起的源代碼行和關鍵字,可用於更好的搜索結果。在這種情況下,插件無法更改源代碼。
控制檯給我的文件,包裹和行號,但我想從其中產生異常的源代碼中的相應行。
例如,如果我有一個像
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 10, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:653)
at java.util.ArrayList.get(ArrayList.java:429)
at Test.main(Test.java:13)
例外,我想從Test.java
的源代碼
**'exception'堆棧跟蹤**提供詳細的堆棧跟蹤發生什麼事,除非你還沒有宣佈它打印出來,爲什麼重新發明輪子? – emotionlessbananas
當發生異常時,插件會被觸發。插件沒有異常對象。插件僅處理來自控制檯的堆棧跟蹤。沒有異常對象,插件如何才能獲得該線。 – kanchan
所以你使用像'org.eclipse.ui.console.consolePatternMatchListeners'?現有的'JavaExceptionConsoleTracker'知道如何從控制檯的異常中打開源代碼。 –