Aktivieren des JIT-attach Debugging
Aktualisiert: November 2007
Mit JIT-attach Debugging wird das Anfügen eines Debuggers an ein ausführbares Abbild beschrieben, das eine nicht abgefangene Ausnahme auslöst. Bei nicht verwaltetem Code geschieht dies in dem Moment, in dem ein Feld mit den folgenden Aufforderungen angezeigt wird:
Klicken Sie auf OK, um das Programm abzubrechen.
Klicken Sie auf Abbrechen, um das Programm zu debuggen.
Wenn Sie auf Abbrechen klicken, wird ein Debugger gestartet und an den Prozess angefügt. Der Registrierungsschlüssel, der dies steuert, heißt HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\AeDebug.
Für Anwendungen, die verwalteten Code enthalten, zeigt die Common Language Runtime ein ähnliches Dialogfeld zum Anfügen eines Debuggers mit JIT-attach an. Der Registrierungsschlüssel, der dies steuert, heißt HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\DbgJITDebugLaunchSetting.
Wenn der Wert 0 lautet, ist der Benutzer mithilfe eines Meldungsfelds zur Eingabe aufzufordern. Dies gilt nur für Prozesse, die mit dem Desktop interagieren; Dienste und andere nicht interaktive Prozesse werden beendet.
In .NET Framework, Version 1.0 und 1.1, sowie in .NET Framework, Version 2.0, unter Windows 98 und Windows Me stehen folgende Auswahlmöglichkeiten für Meldungsfelder zur Verfügung:
Fortfahren. Hierdurch wird ein Stapelabbild auf der Konsole erzeugt und der Prozess beendet.
Einen Debugger anfügen. In diesem Fall erstellt die Laufzeit den im Registrierungsschlüssel DbgManagedDebugger aufgelisteten Debugger. Wenn keiner gefunden wird, wird der Prozess beendet.
In .NET Framework, Version 2.0, auf anderen Plattformen als Windows 98 und Windows Me stehen folgende Auswahlmöglichkeiten zur Verfügung:
Senden. Ein Fehlerbericht wird an Microsoft gesendet, und anschließend wird der Prozess beendet. Informationen zum Abrufen dieser Berichte finden Sie unter http://winqual.microsoft.com.
Nicht senden. Hierdurch wird ein Stapelabbild auf der Konsole erzeugt und der Prozess beendet.
Debuggen. Die Laufzeit erzeugt den im Registrierungsschlüssel DbgManagedDebugger aufgelisteten Debugger. Wenn keiner gefunden wird, wird der Prozess beendet.
Wenn der Wert 1 lautet, ist das Steuerelement zurückzugeben. Dabei wird ein Stapelabbild erzeugt und anschließend der Prozess abgebrochen.
Wenn der Wert 2 lautet, wird der im Registrierungsschlüssel DbgManagedDebugger aufgelistete Debugger erzeugt.
Wenn der Wert 16 lautet, zeigt die Laufzeit bei Prozessen, die mit dem Desktop interagieren, das oben beschriebene Meldungsfeld an (nur in .NET Framework, Version 2.0). Bei nicht interaktiven Prozessen erzeugt die Laufzeit den im Registrierungsschlüssel DbgManagedDebugger aufgelisteten Debugger. Dies ist die Standardeinstellung für .NET Framework Version 2.0.
Siehe auch
Konzepte
Erleichtern des Debuggens für ein Abbild
Aktivieren der Profilerstellung