EngExtCpp 확장 빌드
EngExtCpp 확장 라이브러리는 DbgEng 확장 라이브러리와 거의 동일한 방식으로 빌드됩니다. 자세한 내용은 DbgEng 확장 빌드를 참조하세요.
EngExtCpp 구현 코드(engextcpp.cpp)는 정적 라이브러리와 연결하는 대신 사용됩니다.
EngExtCpp 확장 프레임워크는 DbgEng 확장 프레임워크를 기반으로 빌드되므로 EngExtCpp 확장 DLL은 DbgEng 확장 DLL과 동일한 함수를 내보내야 합니다.
각 확장을 내보내야 합니다. EXT_COMMAND 매크로를 사용하여 확장 함수를 정의하는 경우 이 매크로는 확장과 동일한 이름의 C 함수도 만듭니다. 이 함수는 DLL에서 내보내야 합니다.
다음 함수는 engextcpp에서 EngExtCpp DLL에서 내보내야 합니다.
DebugExtensionInitialize -- Initialize 메서드를 호출하여 라이브러리를 초기화할 수 있도록 합니다.
DebugExtensionUnitialize -- Uninitialize 메서드를 호출하여 라이브러리를 초기화할 수 있도록 합니다.
KnownStructOutputEx -- 엔진이 ExtKnownStructMethod 메서드를 호출하여 출력에 대해 알려진 구조체의 형식을 지정할 수 있도록 합니다.
DebugExtensionNotify -- 엔진이 OnSessionActive, OnSessionInactive, OnSessionAccessible 및 OnSessionInaccessible 메서드를 호출하여 확장 라이브러리에 디버깅 세션 상태 변경 내용을 알릴 수 있도록 합니다.
help -- EngExtCpp 확장 프레임워크가 !help 확장을 자동으로 제공할 수 있도록 합니다.
이러한 함수는 제공하는 기능이 필요하지 않은 경우에도 내보낼 수 있습니다. 또한 내보내지 않으면 제공하는 기능이 손실됩니다.
디버거 엔진이 DLL을 유효한 DbgEng 확장 DLL로 인식하려면 DebugExtensionInitialize를 내보내야 합니다.