远程调试外部可执行文件

Remote debug an external executable

我已按照 https://msdn.microsoft.com/en-us/library/y7f5zaaa.aspx 中列出的步骤将服务器上的应用程序远程获取到 运行。这很好,但我还必须远程调试代码。在说明的第 10 步中,它指定必须从本地计算机构建可执行文件,并将其复制到远程计算机。

  1. Copy the executable that you just built from your Visual Studio computer to the newly-created folder on the remote computer.

我的程序没有 运行 使用我构建的可执行文件,而是使用外部程序启动。我已将 .dll 和 .pdb 文件放在外部程序的 bin 目录中。虽然我可以启动我的程序并看到我的代码 运行 没问题,但我无法调试我的代码。即使 bin 目录中有 .pdb,也不会加载符号。我觉得应该可以调试我的代码,即使它是从外部程序开始的。我缺少一个步骤吗?或者因为我不使用我也构建的可执行文件进行远程调试,是否无法在外部程序下远程调试我的 .dll?

构建 dll 个文件后,将它们复制到目标计算机,然后 运行 远程计算机上的应用程序。

之后,您应该可以转到 Visual Studio 中的 Debug -> Attach to process... 并在 Transport 部分下更改为 "Remote (no authentication)" 选项。这将允许您连接到远程计算机的进程并从您的 Visual Studio.

实例调试应用程序

如果您成功附加到进程(您是否使用 Visual Studio 远程调试工具?),您可以使用模块 window https://msdn.microsoft.com/en-us/library/4c8f14c9.aspx

To load symbols manually

  1. In the Modules window, right click a module for which symbols have not loaded.
  2. Point to Load Symbols From and then click Microsoft Symbol Servers or Symbol Path.