Freigeben über


PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH Rückruffunktion (werapi.h)

Windows-Fehlerberichterstattung (WER) ruft diese Funktion auf, damit Sie die Startoptionen des Debuggers und die Startzeichenfolge anpassen können.

Der PFN_WER_RUNTIME_EXCEPTION_DEBUGGER_LAUNCH-Typ definiert einen Zeiger auf diese Rückruffunktion. Sie müssen "OutOfProcessExceptionEventDebuggerLaunchCallback" als Namen der Rückruffunktion verwenden.

Syntax

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
)
{...}

Parameter

[in] pContext

Ein Zeiger auf beliebige Kontextinformationen, die Sie beim Aufrufen der WerRegisterRuntimeExceptionModule-Funktion angegeben haben, um den Ausnahmehandler zu registrieren.

[in] pExceptionInformation

Eine WER_RUNTIME_EXCEPTION_INFORMATION-Struktur , die die Ausnahmeinformationen enthält.

[out] pbIsCustomDebugger

Legen Sie auf TRUE fest, wenn der im parameter pwszDebuggerLaunch angegebene benutzerdefinierte Debugger zum Debuggen des Absturzes verwendet wird. Legen Sie andernfalls auf FALSE fest, um den Standarddebugger zu verwenden. Wenn Sie diesen Parameter auf FALSE festlegen, legen Sie den Parameter pwszDebuggerLaunch nicht fest.

[out] pwszDebuggerLaunch

Ein vom Aufrufer zugewiesener Puffer, den Sie verwenden, um die Startzeichenfolge des Debuggers anzugeben, die zum Starten des Debuggers verwendet wird. Die Startzeichenfolge muss den vollständigen Pfad zum Debugger und alle Argumente enthalten. Wenn ein Argument mehrere Wörter enthält, verwenden Sie Anführungszeichen, um das Argument zu trennen. Die Debuggerzeichenfolge sollte dasselbe Protokoll wie die Standarddebuggerzeichenfolge von AeDebug einhalten (siehe Konfigurieren des automatischen Debuggens). Die Zeichenfolge muss zwei Formatierungsspezifizierer enthalten: %ld für die abstürzende Prozess-ID und %ld, damit das Handle für ein Ereignisobjekt signalisiert wird, nachdem der benutzerdefinierte Debugger an das Ziel angefügt wurde (eine Beschreibung dieser Bezeichner finden Sie unter Aktivieren des Postmortemdebuggens). Benutzerdefinierte Debugger können diese Parameter jedoch ignorieren.

[in, out] pchDebuggerLaunch

Die Größe des pwszDebuggerLaunch-Puffers in Zeichen.

[out] pbIsDebuggerAutolaunch

Legen Sie true fest, wenn WER den Debugger unbeaufsichtigt starten soll. andernfalls FALSE , wenn WER den Benutzer vor dem Starten des Debuggers fragen soll.

Rückgabewert

Gibt S_OK zurück, auch wenn kein Kundendebugger verwendet werden soll. Wenn Sie andere Fehlercodes zurückgeben, wird das standardmäßige Absturzberichterstattungsverhalten von WER wieder verwendet.

Bemerkungen

Sie müssen diese Funktion in Ihrer Ausnahmehandler-DLL implementieren.

WER verwendet diese Funktion, um zu bestimmen, welcher Debugger gestartet werden soll und ob der Debugger automatisch gestartet werden soll, oder um den Benutzer vor dem Starten des Debuggers zu fragen. Die Angabe eines benutzerdefinierten Debuggers überschreibt die Standardstartzeichenfolge (der Registrierungsschlüssel AeDebug enthält die Standardstartzeichenfolge).

WER ruft diese Rückruffunktion nur auf, wenn Sie den pbOwnershipClaimed-Parameter Ihrer OutOfProcessExceptionEventCallback-Rückruffunktion auf TRUE festlegen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile werapi.h

Weitere Informationen

WerRegisterRuntimeExceptionModule, Windows-Fehlerberichterstattung