8

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

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

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

4

2 回答 2

12

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

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

AFAIK - VMWare 选项可让您在 VM 内启动代码,但可以从工作站对其进行调试。

于 2008-09-02T19:19:54.313 回答
0

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

于 2008-09-02T15:37:58.403 回答