EXT_ANALYSIS_PLUGIN 콜백 함수(extsfns.h)
분석 확장을 작성할 때 (_EFN_Analyze) 내보낸 EXT_ANALYSIS_PLUGIN 구현해야 합니다. !analyze 디버거 명령이 실행되면 각 단계에서 _EFN_Analyze 호출하므로 분석에 참여할 수 있습니다.
WINAPI(__stdcall) 호출 규칙이 필요합니다. 예외(noexcept)가 함수를 벗어나서는 안 됩니다.
구문
EXT_ANALYSIS_PLUGIN ExtAnalysisPlugin;
HRESULT ExtAnalysisPlugin(
[in] PDEBUG_CLIENT4 Client,
[in] FA_EXTENSION_PLUGIN_PHASE CallPhase,
[in] PDEBUG_FAILURE_ANALYSIS2 pAnalysis
)
{...}
매개 변수
[in] Client
IDebugClient4 인터페이스에 대한 포인터입니다. 이 인터페이스를 사용하여 디버거에 액세스합니다. QueryInterface를 사용하여 레거시(), 디버그 호스트(), 데이터 모델IDataModel*(IDebug*``IDebugHost*) 등과 같은 다른 디버거 인터페이스에 액세스합니다.
[in] CallPhase
현재 진행 중인 분석 단계를 지정하는 FA_EXTENSION_PLUGIN_PHASE 열거형의 값입니다. 분석 단계에는 초기화, 스택 분석, 사전 버킷팅 및 버킷팅 후가 포함됩니다.
[in] pAnalysis
IDebugFailureAnalysis2 인터페이스에 대한 포인터입니다. 이 인터페이스를 사용하여 분석의 속성을 가져오기/설정합니다. QueryInterface를 사용하여 다른 !analyze 인터페이스에 액세스합니다.
반환 값
S_OK – 변경되었습니다.
S_FALSE – 변경되지 않았습니다.
E_* - 오류가 발생했습니다. !analyze는 HRESULT의 Plugin.Exception."Phase"."DLL" 키 문자열 및 값 문자열을 "0x%08x" 형식으로 사용하여 키/값을 통해 오류를 보고합니다.
요구 사항
| 대상 플랫폼 | 바탕 화면 |
| 헤더 | extsfns.h |
참조
피드백
다음에 대한 사용자 의견 제출 및 보기