2013-06-13 124 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