it-swarm.com.de

Die Anwendung befindet sich im Unterbrechungsmodus. Ursache kann nicht ermittelt werden

Ich erfahre, dass die IDE manchmal abbricht, wenn meine Anwendung beendet wird.

In diesem Fall ist der Aufrufstapel leer und die Thread-Liste enthält einige Threads, die mir keine Informationen anzeigen.

Wenn ich "Debugger" - "Step into" wähle, wird die IDE scheinbar normal beendet/beendet, so dass ich nicht sehe, wie ich weiter untersuchen könnte, was den Bruch verursacht.

Wenn Sie auf "Auf laufende Aufgaben prüfen" klicken, werden keine Aufgaben angezeigt. Wenn Sie auf "Weiter ausführen" klicken, wird das Debugging scheinbar normal beendet. Wenn Sie auf "Diagnosewerkzeuge anzeigen" klicken, wird das Ereignis "Anhalten bei Ausführung: Anhalten bei Ausführung" angezeigt sagt es mir nicht mehr.

Ein Screenshot ist beigefügt.

Wie kann ich untersuchen, was diesen Bruch verursacht?

 enter image description here

Edit: Ich habe versucht, was ein Forummitglied vorschlug, aber das würde nichts ergeben, was mir helfen würde, denke ich. Dies ist ein Screenshot:

 enter image description here

15
tmighty

Ich habe keine Möglichkeit gefunden, das Problem tatsächlich zu debuggen ... Ich löste das Problem auf bruteforce-Weise:

Ich habe alle Baugruppen und COM-Objekte nacheinander entfernt, bis der Fehler behoben wurde.

In meinem Fall hatte ich eine öffentliche Kontrolle mit einem WithEvents in einem Modul .. _, das VB.NET anscheinend überhaupt nicht gefallen hat. Von nun an werde ich die Kontrolle und ihr Ereignis in eine Form bringen. 

Das Hauptproblem bleibt jedoch bestehen: Visual Studio bietet keine Hilfe, um das Problem leicht zu isolieren. 

2
tmighty

In einer meiner Webanwendungen hatte ich dasselbe Problem, um herauszufinden, was falsch war, nachdem ich nach ähnlichen Problemen gesucht hatte, schlug die meisten vor, meine Debugging-Optionen zu ändern. Also habe ich in den Debugging-Optionen unter "Allgemein" die zweite Option "Alle Prozesse unterbrechen, wenn ein Prozess bricht" markiert und fast ganz unten "Enable Edit and Continue"; Msgstr "Änderungen übernehmen und fortfahren".

Damit endete meine App schließlich dort, wo ich das Problem hatte (illegale Zeichen in einer Zeichenfolge, die ajax nicht mag) und konnte die Werte auswerten und herausfinden, was falsch war. Bearbeiten Sie den Code unterwegs, bis es funktioniert hat ..__ Hier ist ein Screenshot meiner Debugger-Optionen. Ich hoffe, dass Sie Ihren Fehler fangen :)

Debugger-Optionen

6
Alan Warden

Möglicherweise können Sie den Code, in dem die Ausnahme auftritt, nicht sehen, wenn er Teil einer Bibliothek ist oder etwas anderes, das nicht von Ihnen geschrieben wurde. Folgendes könnte helfen:

Debuggen> Optionen> Allgemein> Deaktivieren Sie "Nur meinen Code aktivieren"

3
Alternatex

Wenn Sie sich im Debugger befinden, können Sie zum Überwachungsfenster navigieren und Pseudovariablen verwenden, um einige Informationen zur Hauptursache anzuzeigen. Besonders nützlich ist $exception.

 enter image description here

Überprüfen Sie das Dokument über Pseudovariablen .

3
Paweł Łukasik

Dies kann auch auftreten, wenn eine einzelne Winforms-Anwendung mit einem Thread mehr als 60 Sekunden benötigt, um eine Aktion im Haupt-Thread abzuschließen. 

Ich habe es auf die schmutzige Art und Weise gelöst, indem ich Application.DoEvents () in regelmäßigen Abständen aus dem Haupt-Thread während einer zu langen Verarbeitung aufrief. Ausnahmen, die zwischen Application.DoEvents-Aufrufen auftreten, werden in der IDE ordnungsgemäß behandelt.

2
Goodies

Gehen Sie zu den Ausnahmeeinstellungen und deaktivieren Sie "Magaged Debugging Assistants"  enter image description here

2
user3578181

Dies kann auftreten, weil auf eine Methode oder einen Konstruktor nicht zugegriffen werden kann (privat oder intern).

Die XAML muss die Methoden aufrufen, um die Anwendung zu starten

0
impactro