這要分兩種情況:
第一種情況:如果是Vista或者是Windows2008操作系統就是一個簡單的事情,在任務管理器中,切換到"進程"選項卡,右鍵點擊你想要創建dump文件的進程,然后選擇"Create Dump File"即可。如果你想要創建dump文件的進程是w3wp.exe,可能會看到有很多w3wp,但不知道哪一個是你要要抓的網站,可以通過下需的命令查看,對於vista或win2008系統使用:%windir%/system32/inetsrv/appcmd list wp 而對於win2k3系統,你可以使用iisapp來查看。
第二種情況:對於win2k3操作系統是沒有上面說到的功能的,當然上面的方法也是不完善的,因為它不能在程序崩潰的那一刻抓取到最適合的dump文件。可以通過adplus命令來抓取。例如:
adplus -hang -pn w3wp.exe -o c:\dumps
該命令立刻把w3wp.exe的full dump抓取到c:\dumps文件夾內。
adplus -hang -p 81388 -o c:\dumps
該命令立刻把81388這個進程的full dump抓取到c:\dumps文件夾內。
adplus -crash -pn w3wp.exe -fullonfirst -o c:\dumps
adplus -crash -p 81388 -fullonfirst -o c:\dumps
該命令會通過監視進程w3wp.exe或81388的運行,在當第一次出現異常時記錄一次完整的dump
adplus -crash -pn w3wp.exe
該命令也是在w3wp.exe崩潰時記錄dump,但這是一個mini dump
#一些常用的參數:
-Crash:表示我捕捉的是一個Crash dump。
-p:指定要捕捉的進程ID。 -IIS表示我們捕捉IIS的所有進程。
-quiet:不彈出提示窗口
-fullonfirst:表示我希望在first chance時捕捉完整的dump信息,也就是進程的所有完整信息。
-o :后面跟着dump文件的存放路徑
-c : 指定配置文件
#配置環境變量:
計算機-->屬性-->高級-->環境變量-->系統環境變量-->
_NT_SYMBOL_PATH
為Path系統環境變量增加C:\Program Files\Debugging Tools for Windows (x86)\
#還能通過指定配置文件來靈活使用adplus,例如可以指定clr發生某種異常時記錄dump等。
#解決在抓取dump過程出現"ActiveX 部件不能創建對象: 'Wscript.shell'" 錯誤的方法,運行如下命令:
regsvr32 %windir%"system32"WSHom.Ocx
#注意:當運行adplus抓取dump后,對應的w3wp.exe進程將會自動回收重啟新的進程
2、分析dump文件。