我必须将C ++ Win32控制台应用程序移植到WEC7。在我修复了一些构建和链接错误之后,我能够创建一个在目标上运行的可执行文件。但我无法使用Visual Studio调试该应用程序,因为断点没有被击中,尽管确定了相应的行。
为了进一步调查我的问题,我创建了两个新项目:
Win32项目
Win32智能设备项目
两者都包含以下代码:
#include "stdio.h"
void main(void)
{
int i=0;
while(1)
{
printf("i=%d\n",i);
i++;
}
}
此时我可以调试这两个项目,一个在Windows 7的笔记本上运行,另一个在WEC7的目标上运行。现在我已经将平台解决方案从项目1(Win32项目)更改为我的目标:
从Win32平台复制设置
将调试信息格式从4设置为/ Zi(不知道4来自哪里)
添加了一些WEC7预处理器定义
将程序部署到目标并且工作正常(计数器在控制台中打印),与项目2没有区别
尝试调试程序,但是计数器和printf的断点没有被点击
我检查了以下设置:
解决方案配置设置为Debug
优化已停用
生成调试信息设置为是
比较了项目1(我的“转换”版本)和项目2(Win32智能设备项目)之间链接器的命令行,但它们是相同的 - >更新:实际上它们根本不相同。不知道我第一次比较了什么,但是在我更新了设置后它工作得很好。
我安装了以下Visual Studio更新:
SP1
Visual Studio 2008 SP1的Windows Embedded Compact 7 ATL更新(http://support.microsoft.com/kb/2483802/de)
Windows Embedded Compact 7的Visual Studio 2008更新 (http://support.microsoft.com/kb/2483802/de)
我是否需要更改特定设置?或者我需要改变我的方法吗?
我大多做过基于模型的软件设计(Mathworks Embedded Coder,dSPACE Targetlink),所以我不熟悉Visual Studio和WEC7的具体特性。我非常感谢任何帮助。答案 0 :(得分:0)
这解决了我的问题:
有几个不同之处,在我清理完之后,我的项目运作良好。
Thx @brightstar
答案 1 :(得分:-1)
VS2008有几个更新,可以在Windows Embedded Compact 7上进行调试。你安装了吗?
例如有 http://www.microsoft.com/en-us/download/details.aspx?id=11935