Debugger in falscher Zeile beim Debuggen von Classic Asp

9

Ich habe Probleme beim Debuggen einer ASP Classic-Website auf meiner Workstation mit einer der MS-Debugging-Umgebungen, die mir zur Verfügung stehen. Ich bin auf Win XP SP3, mit dem integrierten IIS 5.1.

Es begann vor ein paar Wochen und passiert in mehreren Projekten. Etwas hat sich in meiner Umgebung deutlich geändert, weil es in der Vergangenheit gut funktioniert hat, selbst in den letzten IDEs, solange ich an den Prozess anhänge. Dann brach es wie unten beschrieben. Ich hatte es aufgegeben, aber ich habe vor kurzem an einem neuen Projekt gearbeitet, versucht zu debuggen und es hat funktioniert! Heute ist es wieder dasselbe gebrochene Verhalten:

Wenn ich versuche, einen Haltepunkt zu setzen, setzt die IDE den Punkt tatsächlich ein paar Zeilen über oder unter der Linie, auf die ich geklickt habe. Ich versuche, den Haltepunkt auf Zeilen festzulegen, die vollständig serverseitig sind, also nicht deshalb, weil es vor oder nach HTML mit eingebetteten Code-Nuggets überspringt. Gelegentlich wird es den Haltepunkt nicht festlegen, mir ein leeres Haltepunktsymbol geben und einen Fehler anzeigen, der besagt, dass kein ausführbarer Code in der Zeile ist.

Wenn ich den IIS-Prozess anhänge (inetinfo.dll, da ich im niedrigen Isolationsmodus aktiv bin), wird der Haltepunkt möglicherweise nicht getroffen. Wenn dies der Fall ist und ich die Einzelschrittweise beginne, springt die ausgewählte Linie umher und landet nicht auf jeder durchgehenden Linie in der Quelle, noch folgt sie den Kontrollstrukturen wie erwartet. Beobachtete Variablen werden nicht wie erwartet aktualisiert. Es sieht klar anderen Code als ich für die gleichen Zeilennummern.

Das gleiche Verhalten passiert, wenn ich die Seite in einen Browser lade und

  • Fügen Sie an den Prozess von VS2010 einen Haltepunkt an und aktualisieren Sie die Seite oder
  • Legen Sie den Haltepunkt fest, hängen Sie ihn an den Prozess an und aktualisieren Sie ihn, oder
  • füge eine 'stop'-Anweisung in meine Quelle ein und aktualisiere die Seite. In diesem Fall wird eine Liste verfügbarer Debugger angezeigt, und jeder von ihnen tut genau dasselbe - sie überspringen die gleichen Codezeilen und folgen den "falschen" SAME-Pfaden. Ich habe VS2010, 2008, 2005, 2003 und den Microsoft Skript-Debugger versucht.

Es scheint, dass der Quellcode nicht mit dem übereinstimmt, was der Debugger durchläuft. Ich habe sichergestellt, dass 'Quelldateien müssen genau mit der Originalversion übereinstimmen' in VS & gt; Werkzeuge & gt; Optionen & gt; Debugging & gt; Allgemein

Und natürlich sind dies klassische ASP-Sites - es gibt keinen kompilierten Code, daher sollte die Quelle, die ich in der IDE sehe, mit der des Debuggers identisch sein. Es ist nicht spezifisch für ein Projekt - es passiert momentan in mindestens zwei völlig separaten Projekten. Und es passiert auf mehreren Rechnern - ich habe mein Projekt auf einem Testserver installiert und versucht, dort zu debuggen, und habe das gleiche Verhalten.

Ich habe einige Informationen zu ähnlich klingenden Problemen gefunden, die sich auf UTF-kodierte Dateien beziehen, die Nicht-ANSI-Zeichen enthalten (Sie wissen, welche Unicode Sie verwenden)! hier , hier und hier , aber ich ging durch meine Quelle und kann finde keine Dateien wie diese.

Irgendwelche Ideen? Danke!

    
Val 29.10.2010, 02:15
quelle

6 Antworten

9

Das einzige Mal, dass ich das gesehen habe, ist, wenn ein Projekt so eingestellt wurde, dass es im Release-Modus statt im Debug-Modus erstellt wird.

Wie einfach es ist, dies zu überprüfen, hängt von Ihrer IDE-Einrichtung ab. Möglicherweise ist es bereits in Ihrer Symbolleiste vorhanden, aber wenn es nicht so ist.

  1. Klicken Sie mit der rechten Maustaste auf die Lösung
  2. Wählen Sie den Konfigurationsmanager ...
  3. aus
  4. Stellen Sie sicher, dass Debuggen im Dropdown-Menü "Aktive Lösungskonfiguration" ausgewählt ist
knightpfhor 29.10.2010 02:31
quelle
3

In meinem Fall waren es falsche Zeilen in der Quellcodedatei. VS erwartet \ x0D \ x0A aber ich hatte nur \ x0D. Es gibt eine Einstellung unter Optionen - & gt; Umwelt - & gt; Dokument - & gt; etwas mit Linienende (ich benutze nicht vs in Englisch, so kann ich nur raten). Das Überprüfen dieser Optionen löste das Problem 4 mich.

    
user5078069 03.07.2015 13:40
quelle
2

Ich hatte das gleiche Problem in VS2008. Konvertieren der Asp-Datei in ANSI-Codierung (mit Notepad ++) löste es.

    
user683570 30.03.2011 08:51
quelle
2

Es gibt definitiv ein Problem mit der Kodierung. Die Datei befand sich in ANSI, und ich konvertierte in ein anderes Format und wechselte zurück zu ANSI und löste das Problem. Seien Sie vorsichtig, weil Sie möglicherweise Sonderzeichen verloren haben, die die Kodierung ändern.

    
Ariel Erlijman 15.08.2011 16:22
quelle
2

Ich hatte ein extra ; in meiner Datei vor einem Kommentar. Keine Ahnung, wie dies das Problem verursacht, aber es zu entfernen schien die Dinge zu beheben.

    
Chris 22.08.2016 08:30
quelle
0

Dies tritt immer noch in VS2010 auf.

Was ich herausgefunden habe, ist, Release vs Debug zu wählen. Projekt neu erstellen Wechseln Sie zurück zu Debug und Boom.

Sie sind alle wieder synchronisiert.

    
Rudy 31.07.2012 15:01
quelle