我正在为那些在 Visual Studio2013 中嵌入 Windows XP 进行开发,然后在 Visual Studio 2010 中调试的人寻找提示。
其原因在此Stack Overflow Link关于该主题的讨论。
本质上远程调试协议在VS2010之后发生了变化,使用新VS2013协议的新msvsmon.exe不支持XP嵌入式调试。所以我们被迫采用两种 IDE 解决方案,一种用于构建,另一种用于调试。VS2013 用于构建,VS2010 用于启动远程调试会话。
关于同时购买 VS2013 和 VS2010 的要求存在一些错误信息。从前面提到的链接中可以看出,可以免费获得 VS2010 调试环境。我能够验证组件的免费下载,但还没有时间验证调试环境是否有效。我使用的环境由 VS2013 的许可副本和 VS2010 的许可副本组成。
以下是在以前的 VS6 msvsmon.exe 环境中进行远程调试时我没有看到的两个初始问题:
1)用VS2013构建项目,VS2010不想打开*.sln文件。如果我打开我们从 VS2010 移植的 VS6 .dsp/.dsw 会执行“一次性转换”,这会破坏我精心构建的 VS2013 构建项目。看来我将不得不构建两个不同的解决方案空间,一个名为 SOLUTION_NAME_VS2013,另一个名为 SOLUTION_NAME_VS2010。我很想知道是否有更优雅的解决方案来管理具有两个不同“Highlander”(只能有一个)IDE 的一组 BUILD 文件。
2)远程启动项目时,如果它崩溃了,我会在 Win2012 调试主机(运行 VS2010)上看到那些烦人的“您的程序已崩溃”对话框之一,该对话框正在捕获来自调试器的崩溃信号。大约 30% 的时间,它检测到正在运行的 VS2010 实例,70% 的时间没有。
3) msvmon 超时(需要重新启动)并且需要额外的时间/鼠标点击来设置旧的 vs6 msvcmon.exe
我想知道其他 Windows Embedded 开发人员是否已经为这些问题找到了优雅的解决方案。如果我发现更多提示,我会在这里发布我发现的内容。