2009-09-02 77 views
6

我有一個基於.net framework 1.1的舊的asp.net web應用程序,它已經部署到現場服務器多年,現在我遇到了一些問題只有Live網站,我的桌面上的開發版本工作正常。所以我正在考慮將遠程調試器附加到實時站點上,並監視實時服務器上發生的事情,但我不知道如何實現。如何在現場服務器上調試asp.net應用程序

我之前使用了遠程調試器,但在本地局域網中的某個開發服務器上創建了新項目時使用了該項目,並且源和項目實際上位於遠程服務器上,我只是將遠程調試器從我的桌面連接到該服務器,它工作正常。但我不確定如何在實時服務器上調試應用程序。

非常感謝您的幫助!

+0

真的有助於瞭解各種各樣的活動站點是有問題 - 可以提供突擊隊調試的關鍵指引。 – 2009-09-02 20:17:22

+0

基本上live服務器會突然爲w3wp進程獲得相當高的CPU使用率,並且我們發現在那裏假設應用發出的一些httpwebrequest被停止發送或接收,許多CLOSE_WAIT連接不再有活動連接。謝謝。 – user167466 2009-09-02 20:34:23

回答

6

嗯是的,這是可能的,但更多的參與。您需要附加到運行該網站的IIS工作進程(w3wp.exe)。我並沒有經常這樣做,而且我通常會盡量避免這種情況,因爲當您連接時,沒有人可以訪問該網站。

這是一篇文章,解釋過程。

http://www.codeproject.com/KB/aspnet/ProcessAttache.aspx

這篇文章是基於2.0沒有1.1,但它仍然應該給你如何做到這一點的想法。我想你必須在生產服務器上安裝visual studio。

如果這不可行並且您有權訪問該代碼,則還可以嘗試在應用程序中的某些點上記錄到文本文件。我已經非常有效地做到了這一點,以找到問題,這使您可以讓網站正常運行,並在知道問題發生後檢查日誌文件。

您可能想查看log4net,這是一個免費的日誌記錄應用程序。

好運

+0

非常感謝您的幫助。我檢查了這篇文章,你是對的,那不是監測活網站的最佳方法。我會嘗試將日誌記錄添加到代碼的可疑部分。我也使用DebugDiag獲取一些信息,但是我很難將它與我的代碼聯繫起來。 – user167466 2009-09-03 23:48:04

6

那麼,你爲什麼不嘗試在服務器上啓用跟蹤?那麼你可以在一個單獨的頁面中看到所有的信息?要在web.config中啓用:

<configuration> 
    <system.web> 
    <trace enabled="true" pageOutput="false" requestLimit="40" 
     localOnly="false"/> 
    </system.web> 
</configuration> 

然後在您的網站中加載trace.axd頁面以查看頁面級數據。

+0

非常感謝您的答覆。我不確定是否只啓用跟蹤會給我足夠的信息來找出一些超時問題,我想知道那些超時發生在何時何地。他們到底在等什麼。 你知道我該如何將調試器附加到活動服務器上?我應該首先在Live服務器上安裝VS.net 2003組件,以啓用調試?謝謝。 – user167466 2009-09-02 20:30:30

相關問題