我正在尝试使用Visual Studio 2010对服务进行远程调试。该服务是用本机C ++编写的(没有托管代码)。本地和远程计算机都运行Windows 7 Pro,64位。
服务本身是一个32位应用程序。
如果我远程连接到进程,那么我只在模块列表中看到这些模块: ntdll.dll,wow64.dll,wow64win.dll,wow64cpu.dll
如果我在本地计算机上运行该服务并附加到该服务,则所有模块都会显示在模块列表中(其中45个)。当然,最值得注意的缺失模块是.exe本身。
如果我使用不同的应用程序远程调试到同一个远程服务器,那么一切正常。
我尝试使用调试数据和调试版本构建服务作为发布版本,但两者都得到相同的结果。
答案 0 :(得分:1)
我通过运行VS2010远程调试客户端的 32位变体解决了这个问题,通常在 " C:\ Program Files \ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ Remote Debugger \ x86 \ msvsmon.exe"。
答案 1 :(得分:0)
我终于得到了构建为64位应用程序的服务,当我远程调试它时,一切正常。
所以,至少基于此,看起来远程调试有32/64位问题(?)。
在我的情况下,因为我们需要在64位计算机上运行此服务,所以以64位运行不是问题,所以我已经完成了......