ContinueDebugEvent-Funktion (debugapi.h)
Ermöglicht einem Debugger, einen Thread fortzusetzen, der zuvor ein Debugereignis gemeldet hat.
Syntax
BOOL ContinueDebugEvent(
[in] DWORD dwProcessId,
[in] DWORD dwThreadId,
[in] DWORD dwContinueStatus
);
Parameter
[in] dwProcessId
Der Prozessbezeichner des prozesses, der fortgesetzt werden soll.
[in] dwThreadId
Der Threadbezeichner des threads, der fortgesetzt werden soll. Die Kombination aus Prozessbezeichner und Threadbezeichner muss einen Thread identifizieren, der zuvor ein Debugereignis gemeldet hat.
[in] dwContinueStatus
Die Optionen zum Fortsetzen des Threads, der das Debugereignis gemeldet hat.
Wert | Bedeutung |
---|---|
|
Wenn der vom dwThreadId-Parameter angegebene Thread zuvor ein EXCEPTION_DEBUG_EVENT Debugereignis gemeldet hat, beendet die Funktion die gesamte Ausnahmeverarbeitung und setzt den Thread fort, und die Ausnahme wird als behandelt markiert. Bei jedem anderen Debugereignis setzt dieses Flag einfach den Thread fort. |
|
Wenn der von dwThreadId angegebene Thread zuvor ein EXCEPTION_DEBUG_EVENT Debugereignis gemeldet hat, setzt die Funktion die Ausnahmeverarbeitung fort. Wenn es sich um ein Ausnahmeereignis der ersten Chance handelt, wird die Such- und Dispatchlogik des strukturierten Ausnahmehandlers verwendet. Andernfalls wird der Prozess beendet. Bei jedem anderen Debugereignis setzt dieses Flag einfach den Thread fort. |
|
Dieses Flag wird in Windows 10 Version 1507 oder höher unterstützt und bewirkt, dass dwThreadId das vorhandene Breaking Event wiedergibt, nachdem das Ziel fortgesetzt wurde. Durch Aufrufen der SuspendThread-API für dwThreadId kann ein Debugger andere Threads im Prozess fortsetzen und später zum Breaking zurückkehren. |
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Nur der Thread, der dwProcessId mit der CreateProcess-Funktion erstellt hat, kann ContinueDebugEvent aufrufen.
Nachdem die ContinueDebugEvent-Funktion erfolgreich war, wird der angegebene Thread fortgesetzt. Abhängig vom Debugereignis, das zuvor vom Thread gemeldet wurde, treten unterschiedliche Aktionen auf. Wenn der fortlaufende Thread zuvor ein EXIT_THREAD_DEBUG_EVENT Debugereignis gemeldet hat, schließt ContinueDebugEvent das Handle, das der Debugger für den Thread hat. Wenn der fortlaufende Thread zuvor ein EXIT_PROCESS_DEBUG_EVENT Debugereignis gemeldet hat, schließt ContinueDebugEvent die Handles, die der Debugger für den Prozess und den Thread hat.
Beispiele
Ein Beispiel finden Sie unter Schreiben der Hauptschleife des Debuggers.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | debugapi.h (windows.h einschließen) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |