Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 如何从VS2008远程调试运行在Win7/64上的32位本机应用程序,该应用程序也运行在Win7/64上?_Visual Studio 2008_Debugging_32bit 64bit_Remote Debugging - Fatal编程技术网

Visual studio 2008 如何从VS2008远程调试运行在Win7/64上的32位本机应用程序,该应用程序也运行在Win7/64上?

Visual studio 2008 如何从VS2008远程调试运行在Win7/64上的32位本机应用程序,该应用程序也运行在Win7/64上?,visual-studio-2008,debugging,32bit-64bit,remote-debugging,Visual Studio 2008,Debugging,32bit 64bit,Remote Debugging,我的工作站是64位Windows 7。我正在尝试远程调试运行在Windows7 64位虚拟机上的x86 32位应用程序。我已经在VM上安装了rdbgsetup_x64.exe,它将32位和64位版本的msvsmon.exe安装到C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger中 如果我在VM上运行64位版本的msvsmon.exe,我可以从工作站连接到32位应用程序,但不会加载任何符号,也不会命中断点

我的工作站是64位Windows 7。我正在尝试远程调试运行在Windows7 64位虚拟机上的x86 32位应用程序。我已经在VM上安装了rdbgsetup_x64.exe,它将32位和64位版本的msvsmon.exe安装到C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger中

如果我在VM上运行64位版本的msvsmon.exe,我可以从工作站连接到32位应用程序,但不会加载任何符号,也不会命中断点

如果我在虚拟机上运行64位版本的msvsmon.exe,并尝试通过Debug->Start New Instance远程启动32位应用程序,则会失败,即无法启动程序。Visual Studio远程调试监视器MSVSMON.EXE的64位版本无法调试32位进程或32位转储。请改用32位版本

但是,如果在VM上运行32位版本的msvsmon.exe,则在尝试从工作站附加到VM上运行的任何进程时,会出现以下错误:无法附加到进程。发生的错误通常表示安装代码0x80004002已损坏。如果问题仍然存在,请通过控制面板中的“添加或删除程序”修复Visual Studio安装。如果我尝试使用Debug->Start New Instance从工作站远程启动32位应用程序,则会出现相同的错误

我的问题是如何从运行Win7/64的工作站远程调试运行在Win7/64上的32位应用程序


谢谢

32位msvsmon应该可以工作。如果没有,可能是开发人员机器和远程测试机器上的某些DLL版本不同。尝试将两者更新为最新的service pack。描述了类似的问题


此外,如果您的Visual Studio不支持此场景,您可以始终使用WinDbg建议,因为问题标题没有明确说明“with Visual Studio”。它支持各种远程调试场景。我经常用WinDBG调试类似的场景。关于WinDbg online有很多教程,但《高级Windows调试手册》肯定是最好的

32位msvsmon应该可以工作。如果没有,可能是开发人员机器和远程测试机器上的某些DLL版本不同。尝试将两者更新为最新的service pack。描述了类似的问题


此外,如果您的Visual Studio不支持此场景,您可以始终使用WinDbg建议,因为问题标题没有明确说明“with Visual Studio”。它支持各种远程调试场景。我经常用WinDBG调试类似的场景。关于WinDbg online有很多教程,但《高级Windows调试手册》肯定是最好的

您正在使用哪个虚拟机软件?如果是VMware,则在安装VMware时会附带一个Visual Studio附加模块选项,这在某种程度上自动化了所有这一切。我之所以说“有点”,是因为工作起来还是很棘手的。防火墙和虚拟机网络的东西会妨碍你,当事情不起作用时,VS远程调试器并没有太大的帮助,所以你必须让所有的星星完全对齐但是我用它来调试64位虚拟机中的32位和64位进程。为什么要使用虚拟机?只需将EXE项目上的平台目标设置为x86,无需虚拟机即可。@Leo:我使用的是VMWare Workstation 7.1。在VM上连接和调试64位应用程序没有问题。当我试图在同一个VM上调试32位应用程序时,我遇到了麻烦。我在某个地方读到,我需要运行32位版本的msvsmon来实现这一点,但当我这样做时,我得到了上面引用的错误…这通常表明安装已损坏…@Hans:我使用虚拟机,因为我的产品在我的工作站上以开发形式安装了很多我不想要的东西-驱动程序、外壳扩展、服务、,钩子注入等。虚拟机是我们商店的必需品。您使用的是哪种虚拟机软件?如果是VMware,则在安装VMware时会附带一个Visual Studio附加模块选项,这在某种程度上自动化了所有这一切。我之所以说“有点”,是因为工作起来还是很棘手的。防火墙和虚拟机网络的东西会妨碍你,当事情不起作用时,VS远程调试器并没有太大的帮助,所以你必须让所有的星星完全对齐但是我用它来调试64位虚拟机中的32位和64位进程。为什么要使用虚拟机?只需将EXE项目上的平台目标设置为x86,无需虚拟机即可。@Leo:我使用的是VMWare Workstation 7.1。在VM上连接和调试64位应用程序没有问题。当我试图在同一个VM上调试32位应用程序时,我遇到了麻烦。我在某个地方读到,我需要运行32位版本的msvsmon来实现这一点,但当我这样做时,我得到了上面引用的错误…这通常表明安装已损坏…@Hans:我使用虚拟机,因为我的产品安装了大量的瘦软件
我不希望在我的工作站上以开发形式出现gs-驱动程序、外壳扩展、服务、钩子注入,等等。虚拟机是我们车间的必需品。除visual studio安装在32位计算机上或主机为32位且远程计算机为64位外,是否可以在相同的场景中进行调试?除visual studio安装在32位计算机上或主机为32位且远程计算机为64位外,是否可以在相同的场景中进行调试一点