2011-12-14 22 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中检查它。