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

Weitere Ressourcen

Debuggen und Profilerstellung von Anwendungen