IIS崩潰時自動抓取Dump


背景:在客戶現場,IIS有時會崩潰,開發環境沒法重現這個bug,唯有抓取IIS的崩潰是的Dump文件分析.

IIS崩潰時自動抓取Dump,需要滿足下面幾個條件

1、啟動 Windows Error Reporting Service 服務

 

2、移除默認的調試器

 

如果你的機器裝了VS開發工具,會在注冊表里寫入調試器地址,需要把它刪除。

找到注冊表刪除以下2個項目
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger

在 64 位 操作系統上也刪除以下注冊表項:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger

 

3、執行下面注冊表腳本,設置w3wp.exe 崩潰時自動抓取dmp文件,保存在D:\dumps文件夾里

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe]
"DumpFolder"=hex(2):64,00,3a,00,5c,00,64,00,75,00,6d,00,70,00,73,00,00,00
"DumpCount"=dword:00000002
"DumpType"=dword:00000002

 

備注,如果沒有D盤,可以保存到C盤,修改一下DumpFolder。"DumpFolder"=hex(2):63,00,3a,00,5c,00,64,00,75,00,6d,00,70,00,73,00,00,00

解壓iiscrash.rar,執行iiscrash.reg

4、查看dmp文件

IIS崩潰后,在D:\dumps文件夾能看到dmp文件,可以用於分析dmp文件,找出IIS崩潰的原因。

5、精華

上面操作比較麻煩,最后有大神搞一個批處理文件

rem 可根據實際情況修改磁盤路徑DMPPATH=d:\dumps
SET DMPPATH=d:\dumps
SC CONFIG WerSvc START= AUTO
NET START WerSvc
ECHO 啟用完成

REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger /f
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger /f

REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger /f
REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger /f

ECHO 刪除完成

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe"  /f
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe"  /t REG_SZ  /v DumpFolder /d   %DMPPATH% /f
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe"  /t REG_DWORD   /v DumpCount /d  2 /f
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe"  /t REG_DWORD   /v DumpType /d  2 /f

ECHO 啟用完成

PAUSE 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM