Visual Studio调试64位程序
使用 Visual Studio,您可以调试运行在本地计算机或远程计算机上的 64 位应用程序。如果进行本地调试,Visual Studio在 WOW64 下运行,WOW64 是允许 32 位 Windows 应用程序在 64 位 Windows 上运行的 32 位 x86 仿真程序。 只在 x64 上支持 WOW64 下的本地调试。
如果进行远程调试,Visual Studio 可以在 WOW64 下或 32 位计算机上运行。 除了可以调试在 x64 WOW 模式下或在 32 位操作系统上运行的 32 位应用程序之外,您还可以调试 IA64 和 x64 应用程序。
若要调试在远程计算机上运行的 64 位应用程序,需要在远程计算机上安装 64 位远程调试器。 64 位远程调试器可以从 Visual Studio 安装套件的最后一张光盘获得。
如果在本地计算机上调试 64 位应用程序,Visual Studio 将使用远程调试以连接同一台计算机上的 WOW64 和 64 位应用程序。 在计算机上安装 Visual Studio 时,将自动安装远程调试组件。
不管哪种情况,在 64 位计算机上安装远程调试会同时安装 32 位和 64 位版本的远程调试监视器。 若要调试 64 位应用程序,必须使用正确的版本,它是在“开始”菜单上的“远程调试器 (x64)”。调试 64 位代码几乎与调试 32 位代码一样。 其中一个区别是,“编辑并继续”对 64 位代码不可用。
如果托管代码使用 Microsoft .NET Framework 版本 4 或更高版本,则 x64 进程支持混合模式调试(从本机代码到托管代码的调用,反之亦然)。使用低于 4 的 .NET Framework 版本的 IA64 进程或 x64 进程不支持混合模式调试。
启动 64 位远程调试监视器
单击**“开始”,依次指向“所有程序”、“Microsoft Visual Studio ”、“Visual Studio 工具”,再单击“远程调试器(x64)”或“远程调试器(IA64)”**。
- 或 -
从 Windows“命令提示符”运行 Install path\Microsoft Visual Studio\Common7\IDE\Remote Debugger\x64 或 Install path\Microsoft Visual Studio\Common7\IDE\Remote Debugger\ia64。
为远程调试配置“远程调试监视器”。
若要在“Windows 身份验证模式”中设置远程调试。
若要在“无身份验证模式”中设置远程调试(仅限本机代码)。 “无身份验证模式”可以在慢速网络上实现较快调试,但它是不安全的,只应在安全网络中使用。
生成 64 位应用程序的转储文件
Visual Studio 允许您调试 64 位应用程序的转储文件。 调试 64 位转储文件要求能够在本地或远程访问 64 位计算机。下面的过程解释如何为 64 位应用程序生成转储文件。 调试 64 位转储文件的操作必须在 64 位计算机上执行。
转储文件可能很大,特别是在将转储文件保存为**“附带堆信息的小型转储”时。 如果将转储文件保存为不附带堆信息的“小型转储”,将生成较小的文件。 如果不附带堆信息,则 Visual Studio 无法加载符号并进行调试,除非它能够访问二进制文件。
在“调试”菜单上,单击“附加到进程”。
在“附加到进程”对话框中,选择运行 64 位应用程序的远程计算机,并选择对应于应用程序的进程。
单击“确定”。
在“调试”菜单上,单击“中断”以中断 64 位进程。
在“调试”菜单上,单击“将转储另存为”。
在“将转储另存为”对话框中的“保存类型”列表中,单击“小型转储”或“附带堆信息的小型转储”。
使用导航控件选择保存位置。
此位置将在远程计算机上,路径与在远程计算机上显示的相同。
单击“保存”。