Unterstützte Ereignistypen
Das Visual Studio, das gerade gedebuggt wird, unterstützt die folgenden Ereignistypen:
Asynchrone Ereignisse
Melden Sie sich den Debug- Manager der Sitzung (SDM) und IDE, das den Zustand der Anwendung, die gedebuggt wird, ändert. Diese Ereignisse werden in der Freizeit des SDM und der IDE verarbeitet. Keine Antwort wird dem DE Modul (Debuggen) gesendet sobald das Ereignis verarbeitet wird. Die IDebugOutputStringEvent2 und IDebugMessageEvent2-Schnittstellen sind Beispiele für asynchronen Ereignissen.
Synchrone Ereignisse
Melden Sie sich das SDM und die IDE, dass der Zustand der Anwendung, die gedebuggt wird, ändert. Der einzige Unterschied zwischen diesen Ereignissen und asynchronen Ereignissen besteht darin, dass eine Antwort mithilfe der IDebugEngine2::ContinueFromSynchronousEvent-Methode gesendet wird.
Ein synchrone Ereignis zu senden ist hilfreich, wenn Sie DE benötigen, um die Verarbeitung fortzusetzen, nachdem der IDE und verarbeitet das Ereignis empfangen.
Synchrone aufhörende Ereignissen beenden oder Ereignisse
Melden Sie sich das SDM und die IDE, dass die Anwendung, die gedebuggt wird, beendet wurde, Code auszuführen. Wenn Sie ein aufhörendes Ereignis mithilfe der Methode IDebugEventCallback2::Ereignissenden, ist der IDebugThread2-Parameter erforderlich. Ereignisse werden durch einen Aufruf Beenden, bis der Fortsetzung der folgenden Methoden:
Die Schnittstellen IDebugBreakpointEvent2 und IDebugExceptionEvent2 sind Beispiele für Beendens von Ereignissen.
Hinweis
Asynchrone aufhörende Ereignisse werden nicht unterstützt.Es ist ein Fehler, um einen asynchronen aufhörenden Ereignisses zu senden.
Erörterung
Die tatsächliche Implementierung von Ereignissen hängt vom Entwurf DEs ab. Der Typ jedes gesendeten Ereignisses wird durch seine Attribute bestimmt, die festgelegt werden, wenn Sie entwerfen. DE Zum Beispiel sendet ein DE IDebugProgramCreateEvent2 als asynchrones Ereignis, während andere möglicherweise als aufhörendes Ereignis senden.
Die folgende Tabelle gibt an, welche Threads und Programme erforderlichen Parameter für die Ereignistypen sowie Ereignisse. Jedes Ereignis kann synchron sein. Kein Ereignis muss synchron sein.
Hinweis
Die IDebugEngine2-Schnittstelle ist für alle Ereignisse erforderlich.
Ereignis |
IDebugProgram2 |
IDebugThread2 |
Beenden von Ereignissen |
---|---|---|---|
Zulässige, aber nicht erforderlich |
Zulässige, aber nicht erforderlich |
Nein |
|
Erforderlich |
Erforderlich |
Ja |
|
Zulässige, aber nicht erforderlich |
Zulässige, aber nicht erforderlich |
Nein |
|
Zulässige, aber nicht erforderlich |
Zulässige, aber nicht erforderlich |
Nein |
|
Zulässige, aber nicht erforderlich |
Zulässige, aber nicht erforderlich |
Nein |
|
Erforderlich |
Erforderlich |
Ja |
|
Erforderlich |
Erforderlich |
Nein |
|
Nicht zulässig |
Nicht zulässig |
Nein |
|
Nicht zulässig |
Nicht zulässig |
Nein |
|
Erforderlich |
Erforderlich |
Ja |
|
Zulässige, aber nicht erforderlich |
Zulässige, aber nicht erforderlich |
Kann sein |
|
Erforderlich |
Erforderlich |
Ja |
|
Zulässige, aber nicht erforderlich |
Zulässige, aber nicht erforderlich |
Kann sein |
|
Erforderlich |
Erforderlich |
Ja |
|
Erforderlich |
Erforderlich |
Ja |
|
Zulässige, aber nicht erforderlich |
Zulässige, aber nicht erforderlich |
Kann sein |
|
Erforderlich |
Zulässige, aber nicht erforderlich |
Nein |
|
Zulässige, aber nicht erforderlich |
Zulässige, aber nicht erforderlich |
Nein |
|
Erforderlich |
Zulässige, aber nicht erforderlich |
Nein |
|
Erforderlich |
Zulässige, aber nicht erforderlich |
Nein |
|
Erforderlich |
Zulässige, aber nicht erforderlich |
Nein |
|
Erforderlich |
Zulässige, aber nicht erforderlich |
Nein |
|
Zulässige, aber nicht erforderlich |
Zulässige, aber nicht erforderlich |
Nein |
|
IDebugStopCompleteEvent2 |
Erforderlich |
Erforderlich |
Ja |
Erforderlich |
Erforderlich |
Ja |
|
Zulässige, aber nicht erforderlich |
Zulässige, aber nicht erforderlich |
Nein |
|
Erforderlich |
Erforderlich |
Nein |
|
Erforderlich |
Erforderlich |
Nein |
|
Zulässige, aber nicht erforderlich |
Zulässige, aber nicht erforderlich |
Nein |