我有一个有趣且罕见的情况。我正在调试一个单独的ASPX和C sharp文件。它不是项目或网站的一部分。
它与其他aspx文件和其他支持文件的文件夹中的其他文件和库一起运行。通常,我可以通过在Visual Studio中本地加载文件并将其附加到从本地主机运行的网站的副本来调试该文件。但这里有棘手的部分和我身边的刺。 aspx文件使用了很多库,这些库是我们拥有的CMS系统的一部分,关联的数据库特别是客户端可以访问服务器上的内容。
因此,我对此问题的最佳和即时解决方案是使用某种方法写出文件和/或弹出窗口来显示该过程。我怎么能在aspx中这样做?我怎么能用C sharp做到这一点?
答案 0 :(得分:2)
最简单的选择是将调试器附加到托管页面的IIS w3wp进程并在网站中放置断点。你不应该在生产中这样做 - 它是侵入性的,你将阻止传入的请求。如果您有测试环境,您可以尝试在那里,但请记住更改IIS池的回收设置(默认情况下,如果进程几秒没有响应进程,则会积极地重新启动池 - 这会破坏您的调试会话)。如果您没有在测试计算机上安装调试器,您可以尝试复制mdbg可执行文件并在服务器上运行它(这很难)或setup a remote debugging(我还在其上写了一篇文章here)。
如果调试器选项不可用,那么您可能会留下跟踪(所谓的 printf debugging )。将Trace.Write
命令放在您页面的代码中,并将跟踪属性添加到@Page
指令:<%@ Page Trace="true" %>
。这将打开此特定页面的跟踪。最后,您需要在web.config中配置访问跟踪的方式(更多信息here):
<system.web>
<trace enabled="false" pageOutput="true/false" localOnly="true/false" />
</system.web>