VS2010 C++ 远程调试缺少“模块”列表中的应用的服务

VS2010 C++ Remote Debugging on a service missing App in Modules list

本文关键字:模块 列表 服务 应用 程调试 C++ 调试 VS2010      更新时间:2023-10-16

我正在尝试使用Visual Studio 2010对服务进行远程调试。 该服务以本机C++编写(无托管代码)。 本地和远程计算机都运行 Windows 7 专业版,64 位。

该服务本身是一个 32 位应用程序。

如果我远程连接到进程,那么我只能在模块列表中看到这些模块:NTDLL.dll, WOW64.dll, WOW64win.dll, WOW64CPU.dll

如果我在本地计算机上运行该服务并附加到它,则所有模块都会显示在模块列表中(其中 45 个)。 当然,最值得注意的缺失模块是.exe本身。

如果我使用不同的应用程序远程调试到同一远程服务器,则一切正常。

我尝试将服务构建为具有调试数据的发布版本和调试版本,但两者都得到了相同的结果。

>我通过运行VS2010远程调试客户端的32位变体解决了这个问题,通常在"C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe"。

我终于得到了一个 64 位应用程序的服务,当我远程调试它时,一切正常。

因此,至少基于此,看起来远程调试存在 32/64 位问题 (?)。

就我而言,由于我们需要在 64 位机器上运行此服务的任何地方,因此以 64 位运行不是问题,所以我完成了......