VS2008调试WEC7应用程序-断点目前不会被击中.此函数当前没有加载可执行代码
VS2008 Debug WEC7 Application - Breakpoint will not currently be hit. No executable code is currently loaded at this function
我必须将c++ Win32控制台应用程序移植到WEC7。在我修复了一些构建和链接错误之后,我能够创建一个在目标上运行的可执行文件。但是我不能用Visual Studio调试这个应用程序,因为没有碰到断点,尽管相应的行肯定被执行了。
为了进一步研究我的问题,我创建了两个新项目:
- Win32项目
Win32智能设备项目
都包含以下代码:
#include "stdio.h"
void main(void)
{
int i=0;
while(1)
{
printf("i=%dn",i);
i++;
}
}
在这一点上,我可以调试两个项目,一个在我的笔记本上运行Windows 7,另一个在我的目标上运行WEC7。现在我已经将平台解决方案从项目1 (Win32项目)更改为我的目标:
从Win32平台复制设置
设置Debug信息格式从4到/Zi(不知道4是从哪里来的)
添加了一些WEC7预处理器定义
将程序部署到目标并且工作正常(计数器在控制台中打印),与项目2
没有区别尝试调试程序,但是计数器和printf的断点没有命中
我检查了以下设置:
解决方案配置设置为Debug
优化被禁用
生成调试信息设置为Yes
比较了项目1(我的"转换"版本)和项目2 (Win32智能设备项目)之间的链接器的命令行,但它们是相同的->更新:实际上它们根本不相同。
不知道我第一次比较了什么,但是在我更新设置后它工作得很好。
我已经安装了以下的Visual Studio更新:
- SP1
Windows Embedded Compact 7 ATL Update for Visual Studio 2008 SP1 (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的具体特点。我将非常感谢您的帮助。
这解决了我的问题:
- 我为WCE平台创建了一个新项目(使用模板),并检查调试是否有效。
- 然后我通过比较项目属性中的编译器和链接器的"命令行"来检查应该在实际项目中使用哪些选项。
有几个不同之处,在我清理它们之后,我的项目工作得很好。
Thx @brightstar
VS2008有几个更新,使其在Windows Embedded Compact 7上调试。你安装了吗?
例如有http://www.microsoft.com/en-us/download/details.aspx?id=11935
- 如何将 c++ get 函数代码转换为 opencv 算法中使用的 python
- 修改链表主函数代码,用户将在其中输入节点的索引和数据以及正确的消息
- 是否可以像这样编写c malloc函数代码
- 函数范围的静态变量如何导致与共享库中函数代码的未来使用不兼容
- 如何将C++ lambda 函数代码转换为 C#?
- 该构造函数代码如何将指针作为参数
- 调用C++具有复杂参数和复杂返回类型的函数 C 代码
- "_FCbuild"不能用作函数 - C/C++ 代码错误
- 复制赋值和复制构造函数(代码C++的差异)
- 反向链表的递归函数(代码段说明)
- 当满足条件时,是否可以在 GLSL 着色器中回调 C/C++ 函数/代码
- 在构造函数代码之前禁用默认类成员初始化
- 以下移动构造函数代码安全吗?
- C++构造函数代码..这叫什么
- 如何更改SWIG生成的CSHARP文件中的构造函数代码
- 找不到当前函数(代码::块)C++的边界
- 使用模板进行 C++ 函数代码泛化
- 编写此指针函数代码的长格式方法是什么
- C++某些构造函数代码之间的区别
- 错误C2668从站点对重载函数代码的调用不明确http://h264bitstream.sourceforge.net/