PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH 콜백 함수(werapi.h)

WER(Windows 오류 보고)은 이 함수를 호출하여 디버거 시작 옵션 및 시작 문자열을 사용자 지정할 수 있도록 합니다.

PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH 형식은 이 콜백 함수에 대한 포인터를 정의합니다. 콜백 함수의 이름으로 "OutOfProcessExceptionEventDebuggerLaunchCallback"을 사용해야 합니다.

구문

PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH PfnWerRuntimeExceptionDebuggerLaunch;

HRESULT PfnWerRuntimeExceptionDebuggerLaunch(
  [in]      PVOID pContext,
  [in]      const PWER_RUNTIME_EXCEPTION_INFORMATION pExceptionInformation,
  [out]     PBOOL pbIsCustomDebugger,
  [out]     PWSTR pwszDebuggerLaunch,
  [in, out] PDWORD pchDebuggerLaunch,
  [out]     PBOOL pbIsDebuggerAutolaunch
)
{...}

매개 변수

[in] pContext

예외 처리기를 등록하기 위해 WerRegisterRuntimeExceptionModule 함수를 호출할 때 지정한 임의 컨텍스트 정보에 대한 포인터입니다.

[in] pExceptionInformation

예외 정보를 포함하는 WER_RUNTIME_EXCEPTION_INFORMATION 구조체입니다.

[out] pbIsCustomDebugger

pwszDebuggerLaunch 매개 변수에 지정된 사용자 지정 디버거를 사용하여 크래시 디버그하는 경우 TRUE로 설정합니다. 그렇지 않으면 기본 디버거를 사용하려면 FALSE로 설정합니다. 이 매개 변수를 FALSE로 설정하면 pwszDebuggerLaunch 매개 변수를 설정하지 마세요.

[out] pwszDebuggerLaunch

디버거를 시작하는 데 사용되는 디버거 시작 문자열을 지정하는 데 사용하는 호출자 할당 버퍼입니다. 시작 문자열에는 디버거 및 인수에 대한 전체 경로가 포함되어야 합니다. 인수에 여러 단어가 포함된 경우 따옴표를 사용하여 인수를 구분합니다. 디버거 문자열은 기본 AeDebug 디버거 문자열과 동일한 프로토콜을 준수해야 합니다( 자동 디버깅 구성 참조). 문자열에는 충돌하는 프로세스 ID의 경우 %ld, 사용자 지정 디버거가 대상에 연결한 후 신호를 받을 이벤트 개체에 대한 핸들에 대한 %ld 형식 지정자가 포함되어야 합니다(이러한 지정자에 대한 설명은 사후 관리 디버깅 사용을 참조하세요). 그러나 사용자 지정 디버거는 이러한 매개 변수를 무시하도록 선택할 수 있습니다.

[in, out] pchDebuggerLaunch

pwszDebuggerLaunch 버퍼의 크기(문자 단위)입니다.

[out] pbIsDebuggerAutolaunch

WER이 디버거를 자동으로 시작하도록 하려면 TRUE 로 설정합니다. 그렇지 않으면 디버거를 시작하기 전에 WER이 사용자에게 요청하도록 하려면 FALSE 입니다.

반환 값

고객 디버거를 사용하지 않더라도 S_OK 반환합니다. 다른 오류 코드를 반환하는 경우 WER은 기본 크래시 보고 동작으로 되돌아갑니다.

설명

예외 처리기 DLL에서 이 함수를 구현해야 합니다.

WER은 이 함수를 사용하여 시작할 디버거와 디버거를 자동으로 시작할지 또는 디버거를 시작하기 전에 사용자에게 요청할지를 결정합니다. 사용자 지정 디버거를 지정하면 기본 시작 문자열이 재정의됩니다(AeDebug 레지스트리 키에는 기본 시작 문자열이 포함됨).

WER은 OutOfProcessExceptionEventCallback 콜백 함수의 pbOwnershipClaimed 매개 변수를 TRUE로 설정한 경우에만 이 콜백 함수를 호출합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 werapi.h

추가 정보

WerRegisterRuntimeExceptionModule, Windows 오류 보고