IIS崩潰時自動抓取Dump
IIS崩潰時自動抓取Dump
閱讀次數:147 次 來源:admin 發布時間:背景:在客戶現場,自動抓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:\dumpsSET DMPPATH=d:\dumpsSC CONFIG WerSvc START= AUTONET START WerSvcECHO 啟用完成REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger /fREG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\DbgManagedDebugger /fREG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\AeDebug\Debugger /fREG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\DbgManagedDebugger /fECHO 刪除完成REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe" /fREG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe" /t REG_SZ /v DumpFolder /d %DMPPATH% /fREG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe" /t REG_DWORD /v DumpCount /d 2 /fREG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps\w3wp.exe" /t REG_DWORD /v DumpType /d 2 /fECHO 啟用完成PAUSE