当前位置:  开发笔记 > 编程语言 > 正文

有没有办法在命令行中获取可读的gcc错误和警告输出?

如何解决《有没有办法在命令行中获取可读的gcc错误和警告输出?》经验,为你挑选了4个好方法。

对于一些长的错误,gcc输出是密集的并且有很多换行等.特别是当错误很微妙时,我可能需要10-30秒的眯眼用眼睛来解析它.

我已经在一个开放的代码编辑器窗口中粘贴它,以获得一些基本的语法突出显示并启用regex的重新格式化.

有没有人发明过更自动化的方法?



1> Paul Fultz I..:

我用这个脚本,叫做colorize:

#!/bin/bash
while read x ; do echo $x ; done \
| sed -e "s/.*error:.*/\x1b[1;36m&\x1b[0m/" \
-e "s/.*warning:.*/\x1b[1;36m&\x1b[0m/" \
-e "s/^\(.*\)\(required from\)/\x1b[1;36m\1\x1b[0mnote: \2/" \
-e "s/^\(.*\)\(In instantiation of\)/\x1b[1;36m\1\x1b[0mnote: \2/" \
-e "s/^\(.*\)\(In member\)/\x1b[1;36m\1\x1b[0mnote: \2/" \
| sed -e "s/error:/\x1b[1;31m&\x1b[1;36m/" \
-e "s/warning:/\x1b[1;35m&\x1b[1;36m/" \
-e "s/note:/\x1b[1;30m&\x1b[0m/"

然后我就这样称呼它(使用make或者任何构建系统):

make |& colorize

我得到的颜色输出类似于铿锵声.


这很好 - 它确实使消息更容易理解.另外,感谢使用`| &`来管道stderr - 我之前从未见过.

2> Mr Fooz..:

我发现colorgcc非常宝贵.通过引入着色,在精神上解析gcc错误消息的文本变得更加容易,尤其是涉及模板时.


GCC主干(将为4.9)现在支持颜色诊断

3> Michael Burr..:

如果您的错误与模板有关,请查看STLfilt:

http://www.bdsoft.com/tools/stlfilt.html



4> 小智..:

gccfilter对消息进行着色和简化.

http://www.mixtion.org/gccfilter/

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有