2010-06-17 12 views
8

Ich habe einen seltsamen Fehler. Ich debugge eine asp.net Seite und plötzlich hört es auf. Visual Studio bleibt im Debug-Modus und meine Web-Anwendung läuft weiter gut. Ich habe this Post auf gefunden, aber ich glaube nicht, dass ein Hintergrund-Thread das Problem verursacht. Es gibt sogar einen Versuch den Code zu fangen, wo er normalerweise aufhört zu debuggen, aber der Haken wird nicht ausgelöst ... Jedes Mal, wenn ich es versuche, stoppt es an einer anderen Stelle im Code.Debugging asp.net stoppt plötzlich

+0

Kann es passieren, wenn Sie längere Zeit an einem Haltepunkt sitzen? –

+0

Ja. Wel, ich würde es nicht verlängert nennen, aber in der Größenordnung von 10 Sekunden. + es passiert mehr, wenn ich mehr Haltepunkte setze. –

+0

Haben Sie eine Lösung gefunden? Ich habe genau das gleiche Problem, nur für mich habe ich 2 asp.net-Projekte (app.webform.old & app.mvc3.new), wenn ich das MVC-Projekt das Web-Formular-Projekt läuft auch in Cassini läuft! (Ich benutze nicht IIS aber cassini) – gideon

Antwort

6

Haben Sie Ihren Debugger auf alle Ausnahmen, nicht nur unbehandelte Ausnahmen zu brechen?

Debug -> Ausnahmen -> Überprüfen Sie die "geworfen" Box für alles (oder zumindest nur Common Language Runtime Ausnahmen). Wenn beim Debuggen eine Ausnahme ausgelöst wird, sollte dies dazu führen, dass der Debugger den "Werfer" markiert und unterbricht.

Eine andere Sache zu versuchen, ist, alle Ihre IDE-Einstellungen zurückzusetzen. Ich hatte verschiedene seltsame Verhaltensweisen, bei denen Einstellungen beschädigt wurden und die IDE sich nicht mehr vernünftig verhält: Extras -> Einstellungen importieren und exportieren -> Alle Einstellungen zurücksetzen.

Zusätzlich zu Daniel Dysons Antwort - wenn Sie "pausieren", wie er vorschlägt (sobald das Debuggen "gestoppt" hat), öffnen Sie das Debug-Fenster "Threads". Gibt es Threads, die einen Eintrag in der Spalte "location" enthalten? Wenn dies der Fall ist, wird Ihr Code wahrscheinlich ausgeführt. Klicken Sie nacheinander auf jede. Kannst du erklären, was jeder Thread macht, oder wirft das ein Licht auf dieses seltsame Verhalten?

1

Fügen Sie einen Haltepunkt in Application_Error Event in der Global.asax hinzu.

3

Haben Sie versucht, die Pause schlagen || Taste? Dies wird den Debugger anhalten, wo auch immer er ausgeführt wird. Wenn Sie sich also in einer Endlosschleife außerhalb Ihres try catch-Blocks befinden, können Sie herausfinden, wo.

1

Stellen Sie sicher, dass die Einstellung "Ping Enabled" in der IIS-Konfiguration auf "False" gesetzt ist.

Klicken Sie in IIS7 mit der rechten Maustaste auf Ihren AppPool, wählen Sie "Erweiterte Einstellungen", navigieren Sie nach unten zur Einstellung "Ping aktiviert" und ändern Sie sie in "false".

Wenn Sie IIS6 verwenden, ist die Einstellung etwas anders. Ich glaube, es heißt "Ping-Intervall", wenn ich mich richtig erinnere und es auf einige Sekunden eingestellt ist.