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 Functions를 참조하세요. 이러한 함수의 숫자는 32비트 버전 및 64비트 버전에 표시됩니다. 일반적으로 64비트 버전은 "64"로 끝나고 32비트 버전에는 숫자 끝(예: ReadIoSpace64ReadIoSpace)이 없습니다. DbgEng 확장에서 wdbgexts.h 함수를 호출할 때는 항상 "64"로 끝나는 함수 이름을 사용해야 합니다. 디 버거 엔진 은 대상 플랫폼에 관계없이 항상 내부적으로 64비트 포인터를 사용하기 때문입니다.

DbgEng 확장에 wdbgexts.h를 포함하는 경우 확장 DLL을 초기화하는 동안 GetWindbgExtensionApis64 를 호출해야 합니다( DebugExtensionInitialize 참조).

참고 디버거 확장에서 DbgHelp 또는 ImageHlp 루틴을 호출하려고 시도해서는 안 됩니다. 이러한 루틴을 호출하는 것은 지원되지 않으며 다양한 문제를 일으킬 수 있습니다.