使用Visual Studio 2008的Web应用程序的远程调试服务器端
因此,我读到,在测试服务器计算机上安装VS2008并不是一个好主意,因为它会极大地改变运行时环境。我以前从未尝试过使用Visual Studio进行远程调试,因此,逐行对服务器端Web应用程序代码进行远程调试的"最佳"方法是什么。我希望能够设置一个断点,添加并逐行开始以验证代码流,以及调试和添加东西:)。
我确信大多数答案都与ASP.NET代码有关,对此我很感兴趣,但是我当前的代码库实际上是Classic ASP和ISAPI Extensions,因此我会多加关注。
另外,我的测试服务器正在VMWare中运行,我在最新的VMWare安装中注意到它提到了有关调试支持的内容,但是我不知道这是什么意思……有人使用它,它对我们有什么作用?
解决方案
回答
Visual Studio带有一个远程调试器,我们可以在服务器上将其作为exe运行。如果我们可以与Visual Studio副本以相同的域用户身份运行它,则效果最佳。然后,我们可以执行从计算机上的调试器到服务器上IIS进程的添加过程,并像在计算机上运行程序一样进行调试。我们可以获得用于.Net调试的更多选项,但也支持较旧的平台。
回答
首先,如果服务器和工作站都在同一个域中(服务器需要访问权限才能连接到计算机),则这样会更容易。在C:\ Program Files \ Microsoft Visual Studio 9.0 \ Common7 \ IDE \ Remote Debugger \ x86(或者x64或者ia64)目录中,是需要复制到服务器的文件。 Visual Studio版本之间存在不同的版本,因此请确保它们在客户端和服务器端匹配。在服务器上,启动msvsmon。它将显示类似" Msvsmon启动了名为xxx @ yyyy的新服务器"之类的内容。这是我们将在Visual Studio中用于连接到该服务器的名称。我们可以进入"工具">"选项"以设置服务器名称并设置身份验证模式(希望是Windows身份验证)。BTW否身份验证不适用于托管代码。
在客户端,打开Visual Studio并加载要调试的解决方案。然后转到"调试">"添加到进程"。在" Qualifier"字段中,输入服务器的名称(如前所述)。单击选择按钮,然后选择要调试的代码类型,然后单击确定。希望我们会看到可以添加到服务器上的进程列表(我们还应该在调试监视器刚刚说过的服务器上看到该列表)。找到要添加的过程(必要时启动应用程序)。如果是ASP.NET网站,则选择w3wp.exe,然后单击"添加"。设置断点,并希望我们现在可以远程调试代码。
AFAIK VMWare选项使我们可以在VM内部启动代码,但可以从工作站对其进行调试。