2011-12-14 42 views
0

我寫了一個不支持的編譯器的錯誤分析的正則表達式。但是,它似乎忽略了我,我不知道如何調試它。如何調試Eclipse CDT的正則表達式錯誤解析器?

錯誤信息是這樣的:

"file.c", line 224: Error: #20: identifier "myvar" is undefined 

我寫了這樣的正則表達式錯誤:

"(.*?)", line (\d+): Error: #(\d+): (.*) 
File: $1, Line: $2, Desc: $4 

Eclipse的控制檯和問題標籤似乎忽略它。我在這裏錯過了什麼?

的Eclipse的Windows 3.7.1,8.0.0 CDT

回答

0

看起來像我的正則表達式是不匹配的錯誤消息。

下面的正則表達式來解決這個問題:

"(.*?)", line (\d+): Error:(\s*)#(.*): (.*) 
File: $1, Line: $2, Desc: $5 

希望這可以幫助別人有同樣的問題。

0

它的確幫助了我。爲了迴應您關於如何調試錯誤解析器的問題,我使用Python對從編譯器運行捕獲的字符串進行了正則表達式模式測試。一旦我得到了這個工作,我只是將正則表達式粘貼到CDT中的錯誤解析器表單中。

很明顯,有很多不同的方式來玩正則表達式,特別是Perl。

+0

這不是一個答案,你應該閱讀FAQ。堆棧溢出與簡單的論壇有點不同。你發佈的內容會更好,而不是回答。 – Gus 2013-02-15 19:14:53

+0

感謝您的反饋Gus。 – frost 2013-03-07 21:51:05

1

這可能有助於某人。我試圖得到一個自定義解析器工作,但我永遠不能得到它匹配。這是一個設置問題。你必須在Window> Preferences> c/C++> Build> Settings> Error Parsers中設置匹配。要使用它,你必須在> Properties> c/C++ build> settings> error parsers中檢查它。