!analyze (WinDbg)
!analyze 擴充功能會顯示目前例外狀況或錯誤檢查的相關信息。
使用者模式
!analyze [-v[0..99]] [-f | -hang]
!analyze [-v[0..99]] -xml [-xmi] [-xcs] [-xmf OutputXmlFile]
!analyze -c [-load KnownIssuesFile | -unload | -help ]
內核模式
!analyze [-v[0..99]] [-f | -hang]
!analyze -show BugCheckCode [BugParameters]
!analyze [-v[0..99]] -xml [-xmi] [-xcs] [-xmf OutputXmlFile]
!analyze -c [-load KnownIssuesFile | -unload | -help ]
一般參數
-v[0..99]
顯示詳細資訊輸出。 您可以指定從 0 到 99 的數字來顯示詳細資訊。 如果您未指定數字,預設值為1。 您也可以指定非常詳細資訊 (-vv) 以顯示所有可用資訊。
針對使用者模式, -v6 會顯示已全域探索到的內容,以及每個線程上的內容。
-f
產生 !analyze 例外狀況輸出。 即使調試程式未偵測到例外狀況,也請使用此參數來查看例外狀況分析。
-掛
產生 !analyze 無回應應用程式輸出。 當目標發生錯誤檢查或例外狀況時,請使用此參數。 不過,分析應用程式為何停止回應會與您的問題更相關。 在核心模式中, !analyze -hang 會調查系統保留的鎖定,然後掃描 DPC 佇列鏈結。 在使用者模式中, !analyze -hang 會分析線程堆棧,以判斷是否有任何線程封鎖其他線程。
在使用者模式中執行此延伸模組之前,請考慮將目前的線程變更為您認為已停止響應的線程(也就是已停止回應)。 您應該進行這項變更,因為例外狀況可能已將目前的線程變更為不同的線程。
顯示參數
-顯示 BugCheckCode
[BugParameters]
顯示所 BugCheckCode
指定錯誤檢查的相關信息。 BugParameters
指定最多四個錯誤檢查參數,並以空格分隔。 這些參數可讓您進一步精簡搜尋。
繼續執行參數
-c
當調試程式遇到已知問題時,繼續執行。 如果問題不是已知問題,調試程式仍會中斷至目標。
您可以使用 -c 選項搭配下列子參數。 這些子參數會設定已知問題的清單。 它們不會自行執行。 在您至少執行 !analyze -c-load **** 至少一次之前,!analyze -c 沒有作用。
-負荷 KnownIssuesFile
載入指定的已知問題檔案。 KnownIssuesFile
指定這個檔案的路徑和檔名。 此檔案必須是 XML 格式。
檔案中KnownIssuesFile
已知問題的清單會用於所有稍後的 -c 命令,直到您使用 -c -unload,或直到您再次使用 -c -load 為止(此時新數據會取代舊數據)。
-卸載
卸除目前已知問題的清單。
-help
在調試程式命令視窗中顯示 !analyze -c 擴充功能擴充功能的說明。
XML 載入選項參數
-xml
以 XML 格式產生分析輸出。
-xmi
將模組資訊新增至 xml 輸出。 此選項需要 -xml 或 -xmf。
-xcs
將內容和呼叫堆疊框架新增至 xml 輸出。 此選項需要 -xml 或 -xmf。
-xmf OutputXmlFile
以 XML 格式將分析寫入指定的 OutputXmlFile
。 如果檔案已經存在,將會覆寫該檔案。 除非同時指定 -xml 選項,否則不會對控制台或記錄檔產生任何分析輸出。
DLL
ext.dll
其他資訊
如需使用者模式例外狀況和內核模式停止錯誤的範例分析(也就是當機),以及 !analyze 如何使用triage.ini檔案的詳細資訊,請參閱使用 !analyze 擴充功能。
備註
在使用者模式中, !analyze 會顯示目前例外狀況的相關信息。
在核心模式中, !analyze 會顯示最新錯誤檢查的相關信息。 如果發生錯誤檢查, 就會自動產生 !analyze 顯示。 您可以使用 !analyze -v 來顯示其他資訊。 如果您只想要查看基本錯誤檢查參數,您可以使用 .bugcheck (顯示錯誤檢查資料) 命令。
對於使用使用者模式驅動程序架構 (UMDF) 2.15 版或更新版本的驅動程式, !analyze 會提供 UMDF 驗證器失敗和未處理的例外狀況的相關信息。 執行即時內核模式偵錯,以及分析使用者模式記憶體轉儲檔案時,可以使用此功能。 針對UMDF驅動程式當機, !analyze 會嘗試識別負責任的驅動程式。