51 Stimmen

Warum bleibt der Debugger in meiner ASP.NET-Anwendung nicht an einem Breakpoint stehen?

Ich versuche, eine große ASP.NET-Anwendung zu debuggen.

Ich habe einen Haltepunkt in der ersten Zeile von Page_Load in Default.aspx.cs gesetzt.

Wenn ich die Anwendung starte, wird mein Haltepunkt kurzzeitig zu einem roten runden Umriss mit einem Ausrufungszeichen darin, wird dann wieder zu einem normalen Haltepunkt und die Anwendung startet, ohne jemals an meinem Haltepunkt anzuhalten.

MSDN sagt mir, dass dieses Symbol bedeutet "der Haltepunktspeicherort wurde nicht geladen". Also wie kann ich den Haltepunktspeicherort laden lassen? Es hat vor ein paar Wochen funktioniert. Welche Arten von Dingen könnten dazu führen, dass ein Haltepunkt "nicht geladen wird"?

Was kann ich tun, damit der Debugger wieder an meinen Haltepunkten anhält?

Anhang:

Ich kann immer noch nicht durch Drücken von F5 das Debuggen zum Laufen bringen, aber ich kann die Website starten und dann debug/attach-process ausführen, um in den Debugging-Modus zu gelangen. Wenn jemand weiß, warum dies funktionieren würde, während es beim Drücken von F5 nicht funktionieren würde (die Debugging-Buttons werden bei F5 nicht einmal angezeigt), sind alle Ideen willkommen.

0 Stimmen

In meinem Fall läuft dieselbe ASP.NET-App auf mehreren Domains und verwendet die Domain aus der Anfrage, um den Inhalt zu wählen, der bereitgestellt werden soll. Sie ist so eingestellt, dass sie auf dem lokalen IIS läuft und über die hosts-Datei die Domains zu 127.0.0.1 aufgelöst werden. Die App lief einwandfrei, aber der Debugger hielt nicht an den Haltepunkten an, bis ich die Projekteigenschaften > Web > Server > Projekt-URL auf die Domain gesetzt habe, die für die Anfrage verwendet wird. (Es enthielt eine weitere Domain, unter der die App verfügbar ist.)

0voto

Julian Rosebury Punkte 51

Für mich hatte ein anderer Entwickler die Projekteigenschaften zurückgesetzt, um IIS Express zu verwenden und nicht mein lokales IIS. Daher lief das Projekt zwar ok, aber es wurde nichts aufgerufen.

Rechtsklick auf das Projekt > Eigenschaften > Web > Server - ändern auf Lokales IIS. Ich weiß, dass das nicht für jeden funktioniert, aber ich hoffe, dass es jemandem hilft.

0voto

Pankaj Devrani Punkte 480
  1. Gehen Sie zu den Eigenschaften Ihrer Lösung.
  2. Innerhalb der Konfigurationseigenschaften legen Sie die Build-Konfiguration für alle Projekte in Ihrer Lösung auf "Debug" anstelle von "Release" fest.
  3. Klicken Sie auf die Schaltfläche "Übernehmen" und dann auf "OK".

0voto

5unnyr4y3 Punkte 85

Dies hat mich eine Woche lang verrückt gemacht, bis ich schließlich bemerkte, dass eine Einstellung fehlte. Dies baut auf Jay Riggs Antwort auf, aber für Visual Studios 2010 anstelle von 2005. In den Projekteigenschaften -> Web -> Debugging sicherstellen, dass der ASP.NET-Debugger aktiviert ist.

0voto

BeccaGirl Punkte 86

Debug=>Optionen=>Allgemein => Entfernen Sie das Häkchen für "Nur meinen Code aktivieren"

Dies hat bei mir funktioniert

0voto

Graham Laight Punkte 4338

Klingt albern, aber setze einen Breakpoint früher im Prozess: Vielleicht erreicht der Prozess den Breakpoint nicht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X