我有一个旧的基于.net Framework1.1的asp.net web应用程序,它已经部署到live服务器上很多年了,现在我只有在live站点上有一些问题,我桌面上的开发版本工作得很好。因此,我正在考虑将远程调试器附加到实时站点,并监控实时服务器上到底发生了什么,但我不知道如何做到这一点。
我以前使用过远程调试器,但当我在本地局域网中的某个开发服务器上创建新项目时使用了远程调试器,而源代码和项目实际上是在远程服务器上,我只是将远程调试器从我的桌面附加到该服务器上,它工作得很好。但我不确定如何在实时服务器上调试应用程序。
发布于 2009-09-03 20:05:18
嗯,是的,这是可能的,但涉及的更多。您需要连接到运行网站( w3wp.exe)的IIS工作进程。我不经常这样做,我通常会尽量避免它,因为当你连接时,没有人可以访问网站。
这里有一篇文章解释了这个过程。
http://www.codeproject.com/KB/aspnet/ProcessAttache.aspx
这篇文章是基于2.0而不是1.1的,但它仍然可以让您了解如何做到这一点。我想您必须在生产服务器上安装visual studio。
如果这是不可行的,并且您可以访问代码,您还可以尝试在应用程序中的某些点记录到文本文件。我已经非常有效地这样做了,以发现问题,这允许您让网站正常运行,并在您知道问题发生后只检查日志文件。
您可能想看看log4net,这是一个免费的日志记录应用程序。
祝好运
发布于 2009-09-02 20:15:40
那么,为什么不尝试在服务器上启用跟踪呢?然后你可以在一个单独的页面上看到所有的信息?要在web.config中启用,请执行以下操作:
<configuration>
<system.web>
<trace enabled="true" pageOutput="false" requestLimit="40"
localOnly="false"/>
</system.web>
</configuration>然后在您的网站中加载trace.axd页面以查看页面级数据。
https://stackoverflow.com/questions/1369829
复制相似问题