1

我有一个有趣且罕见的情况。我正在调试一个独立的 ASPX 和 C sharp 文件。它不是项目或网站的一部分。

它与其他 aspx 文件和其他支持文件的文件夹中的其他文件和库一起运行。通常,我可以通过在 Visual Studio 中本地加载文件并将其附加到从本地主机运行的网站副本来调试文件。但这是棘手的部分,也是我身边的刺。aspx 文件使用了许多库,这些库是我们拥有的 CMS 系统的一部分,并且关联的数据库特别适用于客户端可以访问服务器上的内容的内容。

所以我对这个问题的最好和直接的解决方案是使用某种写出文件和/或弹出窗口来显示过程的方法。我怎样才能在aspx中做到这一点?我怎样才能在升 C 中做到这一点?

4

1 回答 1

2

最简单的选择是将调试器附加到托管您的页面的 IIS w3wp 进程并在网站中放置一个断点。不过,您不应该在生产环境中执行此操作 - 它具有侵入性,您会阻止传入的请求。如果您有一个测试环境,您可以在那里尝试,但请记住更改 IIS 池的回收设置(默认情况下,如果进程在几秒钟内没有响应,则会积极重新启动池 - 这会中断您的调试会话)。如果您没有在测试机器上安装调试器,您可以尝试复制 mdbg 可执行文件并在服务器上运行它(这很困难)或设置远程调试(我也在这里写了一篇文章)。

如果调试器选项不可用,那么您可能会留下跟踪(所谓的printf 调试)。将Trace.Write命令放在您页面的代码中,并将跟踪属性添加到@Page指令中:<%@ Page Trace="true" %>. 这将打开此特定页面的跟踪。最后,您需要在 web.config 中配置您希望如何访问跟踪(更多信息在这里):

<system.web>
  <trace enabled="false" pageOutput="true/false" localOnly="true/false" />
</system.web>
于 2013-06-13T04:57:21.390 回答