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 ビット バージョンは末尾に数字がありません (たとえば、ReadIoSpace64 と ReadIoSpace)。 DbgEng 拡張から wdbgexts.h 関数を呼び出す場合、必ず "64" で終わる関数名を使用する必要があります。 これは、デバッガー エンジンが、ターゲット プラットフォームに関係なく、必ず 64 ビット ポインターを内部的に使用するためです。
DbgEng 拡張機能に wdbgexts.h を含める場合、拡張機能 DLL の初期化中に GetWindbgExtensionApis64 を呼び出す必要があります (「DebugExtensionInitialize」を参照)。
注 デバッガー拡張から DbgHelp または ImageHlp ルーチンを呼び出そうとしないでください。 これらのルーチンの呼び出しはサポートされていないため、さまざまな問題が発生する可能性があります。