我必须将 C++ Win32 控制台应用程序移植到 WEC7。在我修复了一些构建和链接错误之后,我能够创建一个在目标上运行的可执行文件。但我无法使用 Visual Studio 调试该应用程序,因为没有命中断点,尽管相应的行已明确执行。
为了进一步调查我的问题,我创建了 2 个新项目:
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处的断点没有被命中
我检查了以下设置:
解决方案配置设置为调试
优化已禁用
生成调试信息设置为是
比较了项目 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 的具体特性。我将非常感谢任何帮助。