作者:Microsoft MSDN 概要 當您在 Internet 資訊服務 (IIS) 6.0 中遇到被鎖死的情況時,應用程式事件記錄檔中會出現類似下面這樣的錯誤資訊: Event Type: Warning Event Source: W3SVC-WP Event Category: None Event ID: 2262 Date: 7/29/2003 Time: 12:08:58 PM User: N/A Computer: ComputerName Description:ISAPI 'C:\WINNT\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll' reported itself as unhealthy for the following reason:'Deadlock detected'. 在系統事件日誌中會出現類似下面這樣的錯誤資訊: Event Type: Warning Event Source: W3SVC Event Category: None Event ID: 1013 Date: 7/29/2003 Time: 12:09:34 PM User: N/A Computer: ComputerName Description:A process serving application pool 'DefaultAppPool' exceeded time limits during shut down.The process id was '2756'. 為診斷程式產生轉儲檔案 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.將檔案儲存為檔案名稱.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 進程對該檔案有讀取和執行許可權。 |