首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Visual Stuio用作第三方编译器的IDE :需要有关错误分析的帮助

将Visual Stuio用作第三方编译器的IDE :需要有关错误分析的帮助
EN

Stack Overflow用户
提问于 2021-04-15 15:40:00
回答 1查看 50关注 0票数 0

我们在一个具有两种不同配置类型的项目(一个解决方案)中使用Visual Studio (2017):DynamicLinkLibrary和Makefile。Makefile配置由第三方编译器的maekfile (嵌入式应用程序的Greenhills)控制,DynamicLinkLibrary当然在内部运行Visual Studio。Makefile配置使用Visual Studio NMake模板的元素,对于编译器调用本身,有以下命令行,其中使用传输参数调用批处理文件

$(ProjectDir)..\mm.bat PLL02#$(MSBuildProjectName) bin_comp 3 LIBYES 2 /F诊断程序

mm.bat是具有7个参数的批处理控件,用于Greenhills编译器。

如果第三方编译器检测到源代码中的编译器错误,我们现在要激活一个舒适的ErrorParser,它通过双击VisualStudio输出窗口中的错误行将相应的源代码文件加载到Visual Stuido的源代码编辑器窗口中,并自动将光标放在错误的代码行上。如果Eclipse被用作Makefile项目的第二个IDE,那么通过Regex控件('Regex Error Parser')就可以很好地工作。但是,这在Visual Studio中不起作用。是否可以直接从输出窗口执行此操作?这里有人有什么建议吗?粗略地说,是否可以通过双击从Visual Studio输出窗口触发操作(从这个意义上说,单击的行将由输出窗口“读取”以进行进一步处理;进一步的处理最终应显示错误的源代码行)。

致以最好的问候,罗杰

附言:下面是我想知道的内容:

Situation in error case

EN

回答 1

Stack Overflow用户

发布于 2021-04-19 03:50:23

我不相信你可以让VSS理解除了它自己的格式之外的其他格式。但还有另一种方法可以奏效。将编译器的错误输出格式化为VSS格式,并将其输出到VSS输出窗口中。

VSS错误格式列表:

代码语言:javascript
复制
d:\MyProg\main\Sourcefiles\myModul\src\myFile.c(2426): error C2039:

也许您的编译器会有一个类似这样的格式来更改为VSS格式:

代码语言:javascript
复制
d:\/MyProg\main\Sourcefiles/myModul/src/myFile.c", line 2426: error #136:
          struct "_Ts_braketest" has no field "braketest_stepx"
                  S_btest.braketest_stepx = 2520;
                          ^

流编辑器sed很好地完成了这样的任务。以一种简单的方式,您可以使用sed的命令文件逐步格式化。命令文件socToVss.sed:

代码语言:javascript
复制
s,\\/,\\,g                                  #replace \/ to \ (delimiter , to prevent escaping slash) 
s,\/,\\,g                                   #replace / to \ (delimiter , to prevent escaping slash) 
s/\"//g                                     #replace " to nothing
s/c,[[:space:]]line[[:space:]]/c(/g         #formating line number
s/\(([0-9]*\):/\1):/g                       #formating line number
s/\(error[[:space:]]\)#\([0-9]*\)/\1C\2/g   #formating error number

使用sed命令文件将错误从errors.txt格式化为errorsVssFormat.txt并键入ist out的makefile示例:

代码语言:javascript
复制
make 2> errors.txt
sed -f socToVss.sed errors.txt > errorsVssFormat.txt
type errorsVssFormat.txt

您可以为http://unxutils.sourceforge.net/ Win32使用开源GNU实用程序

祝你工作顺利;-)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67104240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档