远程调试外部可执行文件
Remote debug an external executable
我已按照 https://msdn.microsoft.com/en-us/library/y7f5zaaa.aspx 中列出的步骤将服务器上的应用程序远程获取到 运行。这很好,但我还必须远程调试代码。在说明的第 10 步中,它指定必须从本地计算机构建可执行文件,并将其复制到远程计算机。
- 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
- In the Modules window, right click a module for which symbols have not loaded.
- Point to Load Symbols From and then click Microsoft Symbol Servers or Symbol Path.
我已按照 https://msdn.microsoft.com/en-us/library/y7f5zaaa.aspx 中列出的步骤将服务器上的应用程序远程获取到 运行。这很好,但我还必须远程调试代码。在说明的第 10 步中,它指定必须从本地计算机构建可执行文件,并将其复制到远程计算机。
- 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
- In the Modules window, right click a module for which symbols have not loaded.
- Point to Load Symbols From and then click Microsoft Symbol Servers or Symbol Path.