windbg拡張機能を作成する代わりに、Windbg関数を呼び出してダンプファイルを調べることができるデバッグ/診断ツールを作成したいと思います。これは可能であり、参照はありますか?
どうもありがとう。
WinDbgの代わりに、dbghelp.dllに実装されているデバッグAPIを使用できます。これはMSDNに文書化されています。そのリファレンスドキュメントはかなり乾燥していますが、APIの機能についてのアイデアが得られるはずです。たとえば、MiniDumpReadDumpStream
はダンプファイルを調べるためのゲートウェイです。
既存の回答に加えて、WinDBGはDbgEngAPIのGUIフロントエンドです。このAPIを使用して、WinDBG拡張機能またはその他のスタンドアロンアプリケーションを作成できます。WinDBG SDKには両方のサンプルが付属しています。スタンドアロンアプリケーションの例は、WinDBGインストールの\ sdk \ samples\dumpstkサブディレクトリにあります。
詳細については、ここに拡張機能を書くためのDbgEngに関する記事を書きました。
http://www.osronline.com/custom.cfm?name=articlePrint.cfm&id=559
そのほとんどは、DbgEngインターフェイスのプログラミングパターンに主に焦点を当てているため、スタンドアロンアプリケーションの作成方法にも当てはまります。
これは、dbgengインターフェースを使用してスタンドアロンの実行可能ファイルを作成するリンクです。
プロセスの簡単な要約は、
DebugCreate()を呼び出してクライアントを作成し、QueryInterFace()を呼び出し、そのメソッドの1つを呼び出すことです。
http://www.woodmann.com/forum/entry.php?252-Dbgeng-based-handles-(PART-2-)http://www.woodmann.com/forum/entry.php?246-A- _ Simple-Dbgeng-Based-User-Mode- Debugger http://www.woodmann.com/forum/entry.php?248-DbgEng-Based-Debugger-(PART2)http://www.woodmann.com/forum/ entry.php?249-DbgEng-Based-Debugger-(PART2-Contd-) http://www.woodmann.com/forum/entry.php?250-DbgEng-based-Kernel-Debugger http://www.woodmann .com / forum / entry.php?251-Dbgeng-based-Handles
PowerShellを使用して、またはコマンドラインバージョンのWinDbg(cdb)に対してコマンドを作成し、解釈したcdbからの出力を解析することができます。
これは、cdbからアプリに出力をパイプするのと同様の概念です。
この方法でのPowerShellの使用に関する投稿があります:http://rkeithhill.wordpress.com/2006/08/14/minidump-crash-analysis-with-powershell/
コマンドをcdbに送り、特定のコマンドの出力を解釈するのは簡単です。
dbgengと統合されたPython: pykd.codeplex.com
このプロジェクトは、そのような統合のデモとして使用できます