DbgEng 拡張機能コードの作成

DbgEng 拡張コマンドには、標準の C++ コードを含めることができます。 さらに、wdbgexts.h ヘッダー ファイルに表示される C 関数に加えて、dbgeng.h ヘッダー ファイルに表示される C++ インターフェイスを含めることもできます。

wdbgexts.h の関数を使用する場合、wdbgexts.h を含める前に KDEXT_64BIT を定義する必要があります。 次に例を示します。

#define KDEXT_64BIT
#include wdbgexts.h
#include dbgeng.h

拡張コマンドで使用できる dbgeng.h のインターフェイスの詳細な一覧については、「デバッガー エンジン リファレンス」をご覧ください。

拡張コマンドで使用できる wdbgexts.h の関数の詳細な一覧については、「WdbgExts 関数」をご覧ください。 これらの関数の数字は、32 ビット バージョンと 64 ビット バージョンで表示されます。 通常、64 ビット バージョンは "64" で終わり、32 ビット バージョンは末尾に数字がありません (たとえば、ReadIoSpace64ReadIoSpace)。 DbgEng 拡張から wdbgexts.h 関数を呼び出す場合、必ず "64" で終わる関数名を使用する必要があります。 これは、デバッガー エンジンが、ターゲット プラットフォームに関係なく、必ず 64 ビット ポインターを内部的に使用するためです。

DbgEng 拡張機能に wdbgexts.h を含める場合、拡張機能 DLL の初期化中に GetWindbgExtensionApis64 を呼び出す必要があります (「DebugExtensionInitialize」を参照)。

デバッガー拡張から DbgHelp または ImageHlp ルーチンを呼び出そうとしないでください。 これらのルーチンの呼び出しはサポートされていないため、さまざまな問題が発生する可能性があります。