web-dev-qa-db-ja.com

WinDbgの良いチュートリアルですか?

WinDbg の使用方法を示す優れたチュートリアルはありますか?

34
q0987

基本的なチュートリアルと使用方法のデモ

「開始」/ WinDbgを接続するさまざまな方法

ワークスペース(機能の仕組みを理解する)

Cmdtree

簡潔なコマンド名を覚えなくても、頻繁に使用するコマンドに簡単にアクセスできるように、デバッガーコマンドの「メニュー」を定義できます。すべてのコマンド定義を同じcmdtreeテキストファイルに配置する必要はありません。それらを別々に保持し、複数のものをロードできます(その後、独自のウィンドウを取得します)。

起動スクリプト

コマンドラインで-cオプションを使用すると、WinDbgの起動時にWinDbgスクリプトを自動的に実行できます。

DML(デバッガマークアップ言語)モードをオンにし、特定の拡張機能をロードし、.NET例外ブレークポイントを設定し、カーネルフラグを設定する機会を与えます(たとえば、カーネルデバッグ時にDbgPrintマスクを変更してトレース情報を表示する必要がある場合があります... ed nt !Kd_DEFAULT_Mask 0xFFFFFFFF)、cmdtreesの読み込みなど。

サンプルスクリプト:

$$ Include a directory to search for extensions
$$ (point to a source controlled or UNC common directory so that all developers get access)
.extpath+"c:\svn\DevTools\WinDBG\Extensions"
$$ When debugging a driver written with the Windows Driver Framework/KMDF
$$ load this extension that comes from the WinDDK.
!load C:\WinDDK\7600.16385.1\bin\x86\wdfkd.dll
!wdftmffile C:\WinDDK\7600.16385.1\tools\tracing\i386\wdf01009.tmf
$$ load some extensions
.load msec.dll
.load byakugan.dll
.load odbgext.dll
.load sosex
.load psscor4
$$ Make commands that support DML (Debugger Markup Language) use it
.prefer_dml 1
.dml_start
$$ Show NTSTATUS codes in hex by default
.enable_long_status 1
$$ Set default extension
.setdll psscor4
$$ Show all loaded extensions
.chain /D
$$ Load some command trees
.cmdtree c:\svn\DevTools\WinDBG\cmdtree\cmdtree1.txt
.cmdtree c:\svn\DevTools\WinDBG\cmdtree\cmdtree2.txt
$$ Show some help for the extensions
!wdfkd.help
!psscor4.help
.help /D

コマンドのチートシート

拡張機能(サポートされるコマンド/機能の範囲を拡張)

独自の拡張機能を作成する

マネージコードのデバッグ

スクリプト(C#、PS、Python、およびWinDbg)

Dbgeng.dll API/WinDbgツールを使用するデバッガー/ツール

事後分析用のクラッシュダンプファイルを生成するさまざまな方法

ダンプ分析ツール

  • BlueScreenView -BSOD後にWindowsによって保存されたミニダンプ.dmpファイルを見つけ、クラッシュの原因に関する情報を抽出します
  • Debug.Analyzer (ダンプファイルを分析でき、プラグインは.NETで記述できます)
  • SAD-ダンプ後シンプル (事後分析)
  • 揮発性 -ダンプファイルに記録された「メモリ」を分析するためのフレームワーク( cheat sheet

ダンプ関連ツール

  • Citrix dumpcheck-ダンプファイルの一貫性をチェックします(破棄されたようです link + link
  • dumpchk (デバッグツールの一部)-ダンプファイルの一貫性をチェックします
  • MoonSols Windows Memory Toolkit (以前の windd )-さまざまなrawメモリダンプファイルをWinDbg互換のdmpファイルに変換します
  • vm2dmp -Microsoft Hyper-V VM State to Memory Dump Converter
  • vmss2core -VMwareスナップショットファイルをコアダンプファイルに変換します( download )、( instructions

カーネルデバッグ仮想マシン

動画

ブログ

高度な記事とチュートリアルリソース

代替デバッガー

その他のリンク

133
Colin Smith