如何在不使用 vcproj 的情况下直接调试 wince exe

Posted

技术标签:

【中文标题】如何在不使用 vcproj 的情况下直接调试 wince exe【英文标题】:How to debug wince exe directly without using a vcproj 【发布时间】:2011-08-02 05:10:54 【问题描述】:

我想谦虚地问一下:如何使用 Visual Studio 的调试工具调试已存储在 wince 设备上的 wince 可执行文件 (.exe)。

众所周知,使用VS2005,我们可以创建一个Win32 Smart Device Project(.vcproj),添加我们的源文件,编译,选择一个目标设备,然后按F5,生成的exe会部署到wince 设备并连接到 VS2005 wince 调试器。但我真的很想知道,如果有人在他的 wince 设备中已经有一个 wince exe(称为股票)并且有对应于该 exe 的源代码,我如何在不编译源代码的情况下直接开始调试该股票 exe?我无法编译源代码可能是因为我缺少一些库源或其他原因。

对于 PC 程序,我知道我可以将 exe 作为项目打开,以便开始调试该 exe。我可以找到 main() 函数并在它的第一条语句上设置一个断点,然后 F5 将在该断点处停止。

提前谢谢你。

【问题讨论】:

【参考方案1】:

我也经常遇到这个问题;我希望创建的“exe 项目”允许将调试器更改为“智能设备本机调试器”(或以某种方式设置平台)-> 如果有人知道该怎么做,请告诉我。

我能够解决此问题的两种方法是:

    新项目方法:

    创建一个没有源代码的空“智能设备”项目。 将“Configuration Properties > Debugging > Remote Executable”更改为您放在设备上的“Stock EXE”,即:\FlashDisk\MyApp.exe F5 进行调试,当提示“部署错误,是否要继续”时选择“是”。

    附加到处理方法:

    与上述相同,但无需编辑“远程可执行文件”,只需通过 rapistart.exe 启动“Stock EXE”/通过屏幕手动运行。然后确保“附加到进程”传输设置为“智能设备”,您应该能够附加。

在此之后,您需要手动加载 pdb,选择 src 文件等,就像使用普通 PC 应用程序一样。

【讨论】:

【参考方案2】:

如果您想调试 .NET CF 托管应用程序,那么以下链接应该会有所帮助:http://msdn.microsoft.com/en-us/library/b1ksfbk7%28VS.80%29.aspx

我只使用了托管的 .NET CF,但我发现这个链接有很多关于如何在 VS2005 中的 Windows Mobile 5 上调试托管代码和本机代码的好东西。其中大部分也应该适用于 Win CE:http://msdn.microsoft.com/en-us/library/aa446524.aspx

【讨论】:

【参考方案3】:

经过大量阅读和实验后,我最近弄清楚了该方法(微软没有明确记录的许多棘手点)。 user2093823 好心总结了这个过程。

一些历史截图:

【讨论】:

以上是关于如何在不使用 vcproj 的情况下直接调试 wince exe的主要内容,如果未能解决你的问题,请参考以下文章

如何在不重新启动的情况下调试 mod_perl2 模块?

ios如何在不查看CoreFoundation代码的情况下进行调试

如何在不运行的情况下打开 JSFL 文件?

是否可以在不使用 android studio 中的任何 USB 电缆的情况下通过 wifi 进行调试? [复制]

如何在不使用请求的情况下直接从代码调用烧瓶端点

如何在不使用 imageview 的情况下直接在视图上将图像设置为背景?