6

我有一个基于 .net 框架 1.1 的旧 asp.net Web 应用程序,它已经部署到实时服务器多年,现在我只有实时站点有一些问题,我桌面上的开发版本工作正常。因此,我正在考虑将远程调试器附加到实时站点并监视实时服务器上发生的确切情况,但我不知道该怎么做。

我以前使用过远程调试器,但是当我在本地 LAN 的某个开发服务器上创建新项目时使用它,并且源和项目实际上在远程服务器上,我只是将远程调试器从我的桌面连接到该服务器,它工作正常. 但我不确定如何在实时服务器上调试应用程序。

4

2 回答 2

6

那么,为什么不尝试在服务器上启用跟踪呢?那么您可以在单独的页面中查看所有信息吗?在 web.config 中启用:

<configuration>
   <system.web>
     <trace enabled="true" pageOutput="false" requestLimit="40" 
        localOnly="false"/>
   </system.web>
</configuration>

然后在您的网站中加载 trace.axd 页面以查看页面级别数据。

于 2009-09-02T20:15:39.813 回答
6

嗯,是的,这是可能的,但涉及更多。您需要附加到运行网站 (w3wp.exe) 的 IIS 工作进程。我不经常这样做,而且我通常会尽量避免它,因为当你被连接时,没有人可以访问该网站。

这是一篇解释该过程的文章。

http://www.codeproject.com/KB/aspnet/ProcessAttache.aspx

这篇文章是基于 2.0 而不是 1.1,但它仍然应该让你知道如何去做。我想您必须在生产服务器上安装 Visual Studio。

如果这不可行并且您可以访问代码,您还可以尝试在应用程序的某些点登录到文本文件。我已经非常有效地发现了问题,这使您可以让网站正常运行,并且在知道问题发生后只需检查日志文件即可。

您可能想查看 log4net,它是一个免费的日志记录应用程序。

祝你好运

于 2009-09-03T20:05:18.023 回答