因此,我读到在我的测试服务器计算机上安装 VS2008 不是一个好主意,因为它对运行时环境的改变太大。我以前从未尝试过使用 Visual Studio 进行远程调试,那么对服务器端 Web 应用程序代码进行逐行远程调试的“最佳”方法是什么。我希望能够设置断点、附加并开始逐行单步执行以验证代码流,以及调试等内容:)。

我确信大多数答案都与 ASP.NET 代码有关,我对此很感兴趣,但我当前的代码库实际上是经典 ASP 和 ISAPI 扩展,所以我更关心这一点。

另外,我的测试服务器在 VMWare 中运行,我注意到在最新的 VMWare 安装中提到了一些有关调试支持的内容,但我不熟悉这意味着什么......有人使用它,它对你有什么作用?

有帮助吗?

解决方案

首先,如果服务器和您的工作站位于同一域中(服务器需要访问权限才能连接到您的计算机),那么这会容易得多。在 C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE emote Debugger\x86(或 x64 或 ia64)目录中是需要复制到服务器的文件。Visual Studio 版本之间存在不同的版本,因此请确保它们在客户端和服务器端匹配。在服务器上,启动 msvsmon。它会说类似“Msvsmon 启动了一个名为 xxx@yyyy 的新服务器”。这是您在 Visual Studio 中用于连接到此服务器的名称。您可以进入“工具”>“选项”来设置服务器名称并设置身份验证模式(希望是 Windows 身份验证) - 顺便说一句,“无身份验证”不适用于托管代码。

在客户端,打开 Visual Studio 并加载要调试的解决方案。然后转到“调试”>“附加到进程”。在“限定符”字段中输入您之前看到的服务器名称。单击“选择”按钮并选择要调试的代码类型,然后单击“确定”。希望您会看到服务器上可以附加的进程列表(您还应该在调试监视器刚刚表示您已连接的服务器上看到)。找到要附加的进程(如有必要,启动应用程序)。如果它是 ASP.NET 网站,您可以选择 w3wp.exe,然后单击“附加”。设置断点,希望您现在正在远程调试代码。

AFAIK - VMWare 选项允许您在虚拟机内启动代码,但可以从工作站进行调试。

其他提示

Visual Studio 附带一个 远程调试器 您可以在服务器上作为 exe 运行。如果您可以以与 Visual Studio 副本相同的域用户身份运行它,则效果最佳。然后,您可以将计算机上的调试器的进程附加到服务器上的 IIS 进程,并进行调试,就像它在您的计算机上运行一样。您可以获得更多 .Net 调试选项,但也支持旧平台。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top