入門 - windbg 無料



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

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

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

コマンドチートシート

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

  • AddSym
    - IDAとWinDbgの間でシンボル名を転送できるようにする
  • bigLasagne(bldbgexts&blwdbgue)
    - アセンブリ構文ハイライトとドライバマッピングツール)
  • BigLib数値リーダー
  • Byakugan
    - アンチウィジェットの検出、ビジュアルヒープの可視化/エミュレーション、メモリ内のバッファの追跡
  • CmdHist
    - デバッグセッションで実行したすべてのコマンドを記録して、簡単に再実行できるようにする
  • コアアナライザ
    - ヒープ構造の破損のチェック、スレッドで共有されるオブジェクトの検出など
  • dom WinDbg拡張機能
    - (!stlpvector、!idt、!unhex、!grepなど)
  • dumppe
    - メモリからPEファイルをダンプする
  • イメージビューア拡張(Vladimir Vukicevic)
  • インテル®UEFI開発キット・デバッガー・ツール
    - UEFIファームウェアをデバッグする
  • leaktrap
    - 漏れ検出を助けるためのGDI / USERハンドルトラッカー
  • Mona (PyKDが必要)
    - 高度な分析を支援するコマンドセット/エクスプロイト
  • MSEC
    - 自動クラッシュ分析とセキュリティリスクアセスメントを提供
  • narly
    - SafeSEH、ASLR、DEP、/ GS(バッファセキュリティチェック)を使用している場合など、ロードされたモジュールに関する情報を表示します。
  • netext (Rodney Viana)
    - (!wservice - WCFサービスオブジェクトのリスト、!wconfig - show .config行、!whttp - list HttpContexts、!wselect /!wfrom - 配列のクエリのようなSQLをサポートします)
  • ODbgExt
    - デバッガ拡張を開く
  • OllyMigrate
    - 再起動せずに別のデバッガにdebuggeeを渡す
  • Psscor2
    - .NET 2.0マネージドコードのデバッグを支援するSOSのスーパーセット
  • Psscor4
    - .NET 4マネージドコードのデバッグを支援するSOSのスーパーセット
  • PyDBGExt
    - Pythonスクリプトを使用できるようにする
  • PyKD
    - Pythonを使用してWinDbgのスクリプトを作成できるようにする
  • sdbgext(Nynaeve)
    - (!valloc、!vallocrwx、!heapalloc、!heapfree、!remotecall、!remotecall64、!loaddll、!unloaddll、!close、!killthread、!adjpriv、!ret)
  • SieExtPub
    -legacy拡張機能... ext.dllのWinDbgに組み込まれました
  • SOSEX
    - 管理されたNET 2.0または4.0のコードをデバッグするのに役立つコマンド
  • SPT / SDBGExt2(Steve Niemitz)
    - (!DumpHttpContext、!DumpASPNetRequests、!DumpSqlConnectionPools、!DumpThreadPoolなど)
  • Uniqstack
    - デバッガエクステンションへのソース(OSRオンラインアカウントにアクセスする必要があります)
  • viscope
    - コードカバレッジグラフ
  • ウェイトチェーントラバーサル/ wct.dll(CodePlexデバッグ拡張機能
    - アプリケーションスレッドの待機チェーンを表示する( deadlocks発見に役立つ)
  • windbgshark
    - Wiresharkプロトコルアナライザを統合し、VMトラフィックの操作と分析を可能にする
  • WinDbg拡張機能(Sasha Goldstein)
    - トレーサ、WCT、heap_stat、bkb、traverse_map、traverse_vector)
  • WinDbgハイライト (ColorWindbg.dll)(Google翻訳を使用してリンクを翻訳する)
    - アセンブリ言語の構文強調表示

自分の内線番号を書く

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

スクリプティング(C#、PS、Python、およびWinDbg)

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

ポストモルテム分析のためのクラッシュダンプファイルを生成するさまざまな方法

ダンプ解析ツール

  • BlueScreenView - BSODの後にWindowsによって保存されたミニダンプ.dmpファイルを探し出し、クラッシュの原因に関する情報を抽出します
  • Debug.Analyzer (ダンプファイルとプラグインを解析することができます.NETで記述することができます)
  • SAD - シンプルダンプ後 (アナウンスメントアナライザー)
  • Volatility - ダンプファイルに記録された「メモリ」を分析するためのフレームワーク( チートシート

ダンプ関連ツール

  • Citrix dumpcheck - ダンプファイルの一貫性をチェックします(破棄されたlink + link
  • dumpchk (デバッグツールの一部) - ダンプファイルの一貫性をチェックする
  • MoonSols Windows Memory Toolkit (旧windd ) - さまざまなRAWメモリダンプファイルをWinDbg互換dmpファイルに変換します。
  • vm2dmp - Microsoft Hyper-V VM状態からメモリダンプコンバータ
  • vmss2core - VMwareスナップショットファイルをコアダンプファイルに変換( download )、( instructions

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

  • VMKD - 仮想マシンKD拡張
  • VirtualKD - (VMware / VirtualBoxでホストされているOSのカーネルデバッガのサポート)

ビデオ

ブログ

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

代替デバッガ

その他のリンク

WinDbg使い方を示す良いチュートリアルはありますか?