从 Visual Studio 调试远程设备(PDA、ARM)上的 winMobile 应用程序
嗨!
我有一些 PDA(Windows Mobile)来测试我的应用程序。其中之一是 HTC Touch Dual,它有一些调试错误。我还有另一个 ARMv6 设备可以使用,但距离很远。所以我不能使用USB电缆,但可以使用TCP/IP(互联网,而不是内联网)。
您知道如何连接到远程 Windows Mobile 设备来调试其上的应用程序吗?
我们尝试了不同的方法,现在我们知道了:
- ActiveSync 很糟糕。它会禁用与设备的所有外部连接,并且在通过 ActiveSync 连接时不可能(或者只是我不知道如何)远程调试设备。
- 我们创建了 VPN,通过 wi-fi 将设备连接到远程 PC,并设置可通过 VPN 访问设备的路由。在此步骤中,无需 ActiveSync 即可连接设备 (MSDN),来自远程 PC 上的 Visual Studio。但我的 PC 上的 Visual Studio 连接不可用 - “设备未就绪”。我可以 ping 设备,但无法从 Visual Studio 连接它。
我已经检查了以下内容:
- 无需 ActiveSync 进行连接的二进制版本是否正确,如上述 MSDN 文章中所述
- 路由器/防火墙不会阻止任何内容
- 设备已准备好调试
- 嗅探到的数据包 在远程 PC 连接和我的 PC 的情况下,设备看起来相似连接,但不知怎的,我的电脑只建立了 1 个连接,而远程 2 个连接
我认为,没有 ActiveSync 的 VPN 和 PDA 连接非常接近进行远程调试,但出现了问题。也许我现在只是需要睡觉:)
问题是:
- 你知道如何以更简单的方式调试远程 winCE 应用程序吗?
- 什么问题可能 >使用“VPN 方法” 如果这是最简单的方法?
谢谢。
Hi!
I have some PDAs (windows mobile) to test my application. One of them is HTC Touch Dual, and it have some bugs in debugging. There is another ARMv6 device I can use, but it's far far away. So I can't use USB cable, but can use TCP/IP (internet, not intranet).
Do you know, how can I connect to remote windows mobile device to debug application on it?
We tried different ways and now we know this:
- ActiveSync is bad. It disables all external connections to device and it's impossible (or just I don't know how) to remotely debug device while it's connected via ActiveSync.
- We have created VPN, connected device via wi-fi to remote PC, and setup routes to device be accessible over VPN. At this step device can be connected without ActiveSync (MSDN) from Visual Studio on remote PC. But connection from Visual Studio on my PC was not available - "device not ready". I can ping device, but can't connect it from Visual Studio.
I've checked following things:
- binaries versions to connect without ActiveSync to be correct as said in MSDN article above
- routers/firewalls don't block anything
- device is ready to debug
- sniffed packets to device looks similar in case of remote PC connection and my PC connection, but somehow my PC establish only 1 connection, while remote 2
I think, VPN and PDA connection without ActiveSync was very close to get remote debug, but something goes wrong with it. Maybe I just need some sleep now :)
And the questions are:
- Do you know, how to debug remote winCE application in a simplier way?
- What a problem can be with "VPN method" if it's the simplest way?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过 CoreCon 实现这一目标...在 Microsoft 从 EVC 迁移到 Visual Studio 后,他们弃用了 Platform Manager,转而使用 CoreCon。
查看 C:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400[targetarch] 下的内容。
基本上,您运行 ConmanClient2.exe,然后运行 CMAccept.exe,这将打开一个时间窗口,您可以在其中通过 IDE 建立 TCP/IP 连接。
您可以通过添加注册表项 HKEY_LOCAL_MACHINE\System\CoreConOverrideSecurity=DWORD:0x01 来覆盖对 CMAccept.exe 的需求。
CoreCon 在目标设备上运行后,您需要通过“设备选项”/“属性”/“传输”/“配置”/“使用特定 IP 地址”将 IDE 指向设备。只需将 IP 设置为设备的 IP 即可。
我发现 CoreCon 比旧的 EVC 基础设施更快、更可靠 - 调试器肯定会从中受益。它有其相当多的限制,但它并不直接依赖于 ActiveSync,这足以弥补它! :)
You can achieve this via CoreCon... After Microsoft moved from EVC to Visual Studio they deprecated Platform Manager in favour of CoreCon.
Take a look under C:\Program Files\Common Files\Microsoft Shared\CoreCon\1.0\Target\wce400[targetarch].
Basically you run ConmanClient2.exe and then CMAccept.exe which opens a window of time in which you can establish a TCP/IP connection via the IDE.
You can override the need for CMAccept.exe via adding the reg key HKEY_LOCAL_MACHINE\System\CoreConOverrideSecurity=DWORD:0x01.
After CoreCon is running on your target device, you need to point the IDE to the Device via the 'Device Options'/'Properties'/'Transport'/'Configure'/'Use specific IP address'. Simply set the IP to that of the device.
I have found CoreCon much faster and reliable than the old EVC infrastructure - the debugger definitely benefits from it. It has its fair share of limitations, but it doesn't depend directly on ActiveSync which more than makes up for it! :)