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 位远程调试监视器

  1. 单击**“开始”,依次指向“所有程序”、“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。

  2. 为远程调试配置“远程调试监视器”。

    • 若要在“Windows 身份验证模式”中设置远程调试。

    • 若要在“无身份验证模式”中设置远程调试(仅限本机代码)。 “无身份验证模式”可以在慢速网络上实现较快调试,但它是不安全的,只应在安全网络中使用。

生成 64 位应用程序的转储文件

Visual Studio 允许您调试 64 位应用程序的转储文件。 调试 64 位转储文件要求能够在本地或远程访问 64 位计算机。下面的过程解释如何为 64 位应用程序生成转储文件。 调试 64 位转储文件的操作必须在 64 位计算机上执行。

转储文件可能很大,特别是在将转储文件保存为**“附带堆信息的小型转储”时。 如果将转储文件保存为不附带堆信息的“小型转储”,将生成较小的文件。 如果不附带堆信息,则 Visual Studio  无法加载符号并进行调试,除非它能够访问二进制文件。

  1. 在“调试”菜单上,单击“附加到进程”。

  2. 在“附加到进程”对话框中,选择运行 64 位应用程序的远程计算机,并选择对应于应用程序的进程。

  3. 单击“确定”。

  4. 在“调试”菜单上,单击“中断”以中断 64 位进程。

  5. 在“调试”菜单上,单击“将转储另存为”。

  6. 在“将转储另存为”对话框中的“保存类型”列表中,单击“小型转储”或“附带堆信息的小型转储”。

  7. 使用导航控件选择保存位置。

    此位置将在远程计算机上,路径与在远程计算机上显示的相同。

  8. 单击“保存”。

posted on 2020-03-11 14:07  活着的虫子  阅读(1246)  评论(0编辑  收藏  举报

导航