VS2008调试WEC7应用程序 - 当前不会命中断点。此功能当前未加载任何可执行代码

时间:2014-08-08 13:38:26

标签: c++ debugging visual-studio-2008 windows-ce windows-embedded-compact

我必须将C ++ Win32控制台应用程序移植到WEC7。在我修复了一些构建和链接错误之后,我能够创建一个在目标上运行的可执行文件。但我无法使用Visual Studio调试该应用程序,因为断点没有被击中,尽管确定了相应的行。

为了进一步调查我的问题,我创建了两个新项目:

  1. Win32项目

  2. Win32智能设备项目

  3. 两者都包含以下代码:

    #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更新:

    我是否需要更改特定设置?或者我需要改变我的方法吗?

    我大多做过基于模型的软件设计(Mathworks Embedded Coder,dSPACE Targetlink),所以我不熟悉Visual Studio和WEC7的具体特性。我非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

这解决了我的问题:

  1. 我为WCE平台创建了一个新项目(使用模板),并检查调试是否有效。
  2. 然后我通过比较' Commmand Line'然后检查了我的实际项目中应该使用哪些选项。对于项目属性中的编译器和链接器。
  3. 有几个不同之处,在我清理完之后,我的项目运作良好。

    Thx @brightstar

答案 1 :(得分:-1)

VS2008有几个更新,可以在Windows Embedded Compact 7上进行调试。你安装了吗?

例如有 http://www.microsoft.com/en-us/download/details.aspx?id=11935