您目前已離線,請等候您的網際網路重新連線

如何在 IIS 6.0 的 ASP.NET 鎖死時產生傾印檔案

本文內容

結論
當您在 Internet Information Services (IIS) 6.0 上遇到鎖死狀況時,應用程式事件記錄檔中會出現類似以下的錯誤:

事件類型:警告
事件來源:W3SVC-WP
事件類別目錄:無
事件識別碼:2262
日期:7/29/2003
時間:12:08:58 PM
使用者:N/A
電腦:ComputerName
描述:ISAPI 'C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll' 因為下列原因而報告為狀況不良:「偵測到死結」。

系統事件記錄檔中會出現類似以下的錯誤:

事件類型:警告
事件來源:W3SVC
事件類別目錄:無
事件識別碼:1013
日期:7/29/2003
時間:12:09:34 PM
使用者:N/A
電腦:ComputerName
描述:伺服應用程式集區 'DefaultAppPool' 處理序在關閉期間花費過長的時間。處理序識別碼為 '2756'。

如需詳細資訊,請參閱「說明及支援中心」,網址是:http://support.microsoft.com

產生用於診斷的傾印檔案

IIS 6.0 有一項稱為「遺棄工作者處理序」的新功能。此項功能可以讓您先行檢查排定要回收的處理序,才終止該處理序。「遺棄工作者處理序」能夠用來在處理序中附加偵錯工具,並且產生用於研究調查的傾印檔案。

注意 以 IIS 5.0 相容性模式執行處理序時,不會啟用此項功能。

建立要在工作者處理序遭遺棄時所執行的批次檔

  1. 啟動記事本
  2. 將下列程式碼貼到 [記事本] 中:
    @if "%_echo%"=="" echo offsetlocal    set TIMESTAMP=%DATE:~-9%_%TIME%set TIMESTAMP=%TIMESTAMP:/=_%set TIMESTAMP=%TIMESTAMP::=_%set TIMESTAMP=%TIMESTAMP:.=_%set TIMESTAMP=%TIMESTAMP: =_%set FILENAME=c:\crash_%TIMESTAMP%.dmpset LOG=c:\log.txtset COMMAND=c:\debuggers\cdb.exe -c ".dump /o /mhf %FILENAME%;q" -p %1echo %COMMAND% > %LOG%%COMMAND%endlocal
  3. 將檔案儲存為 FileName.cmd。此範例將檔案命名為 action.cmd,但是,您可以依據需要自行命名檔案。
注意 您可能必須修改偵錯工具的位置,以及想要產生結果傾印檔案的位置。

設定遺棄工作者處理序設定

  1. 在命令提示字元中輸入下列命令,然後按下 ENTER:
    cd \Inetpub\adminscripts
  2. 如果要啟用「遺棄工作者處理序」功能,請在命令提示字元輸入下列命令:
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanWorkerProcess TRUE
  3. 在命令提示字元中,設定要在排定回收處理序時所執行的可執行檔。例如,在本例中請使用<建立要在工作者處理序遭遺棄時所執行的批次檔>一節所建立的批次檔:
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanActionExe "c:\action.cmd"
    adsutil.vbs SET W3SVC/AppPools/DefaultAppPool/OrphanActionParams "%1%" 
注意 請確定 OrphanActionExe 選項是指向<建立要在工作者處理序遭遺棄時所執行的批次檔>一節中所建立的批次檔位置,並且確定 W3wp.exe 處理序的身分識別具有這個檔案的讀取和使用權限。
內容

文章識別碼:828222 - 最後檢閱時間:12/04/2007 20:10:00 - 修訂: 7.2

Microsoft ASP.NET 1.1, Microsoft Internet Information Services 6.0

  • kbhowtomaster kbdebug KB828222
意見反應
"76500"; var Ctrl = ""; document.write("