2013-06-13 77 views
1

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

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

因此,我最好的解决方案是使用某种方法写出文件和/或弹出窗口来显示过程。我怎样才能在aspx中做到这一点?我如何在C sharp中做到这一点?

+1

VisualStudio的支持远程调试 - 但你必须在服务器上加载软件。 – Hogan

+0

我根本不想调试。我想制作弹出窗口并将文本写入服务器作为测试。我怎么做? – xarzu

回答

2

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

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

<system.web> 
    <trace enabled="false" pageOutput="true/false" localOnly="true/false" /> 
</system.web> 
+0

我没有看到w3wp进程。我尝试了我在Spy ++中找到的iexplorer进程,但那不起作用。 – xarzu

+0

该指令的Web.config文件不存在于我正在调试的文件所在的同一文件夹中 – xarzu

+0

要进行调试,您必须附加到在服务器上运行的进程 - iexplorer只是一个浏览器。 web.config文件可能位于Web应用程序的根文件夹中。 – lowleveldesign