2016-04-15 3 views
0

Bis vor zwei Wochen konnte ich einen Haltepunkt im JavaScript-Code setzen, indem ich einen Debugger hinzufügte; Erklärung. Wenn diese Anweisung für Internet Explorer getroffen wurde, würde ich automatisch zum Visual Studio-Debugger zurückkehren.Warum funktionieren IE JavaScript-Haltepunkte nicht mehr in Visual Studio 2013?

Ich könnte optional einen Haltepunkt für die Zeile in Visual Studio wechseln, aber das war nicht notwendig, und es würde keinen Haltepunkt ohne Debugger selbst setzen; Erklärung. Wenn ein Haltepunkt auf diese Weise festgelegt wurde, wird in der JavaScript-Codezeile ein roter ausgefüllter Kreis angezeigt.

Am 4. April hörte dies auf zu arbeiten.

Jetzt, wenn ich einen Debugger hinzufügen; Aussage passiert nichts. Wenn ich versuche, einen Haltepunkt in Visual Studio zu wechseln, bekomme ich einen roten offenen Kreis. Wenn Sie über den Kreis fahren, wird der Fehler angezeigt, dass "der Haltepunkt momentan nicht berührt wird. Für dieses Dokument wurden keine Symbole geladen."

Ich habe nach dieser Fehlermeldung gesucht, aber was ich gefunden habe, war über C#, nicht JavaScript.

Ich dachte, das Problem könnte etwas sein, das wir zu unserem Quellcode gemacht haben, also habe ich eine viel ältere Version ausgecheckt, aber ich hatte immer noch das gleiche Problem. Unser anderer Entwickler hatte zur selben Zeit das gleiche Problem an seinem Hauptgerät. Aber er hat einen Laptop, den er seltener benutzt, der das Problem nicht sieht. Es war ein bisschen hinter unserer Quellcodeverwaltung und er hat es bis zur aktuellen Version einzeln ausgeführt und das Problem nie gesehen.

Wie bringen wir unsere Haltepunkte wieder zum Laufen? Wie erhalten wir Visual Studio zum Laden der JavaScript-Symbole? (oder ist das auch wirklich das Problem?)

Ich habe mich seit zwei Wochen auf Firebug verlassen, aber ich muss wegen der VS-Integration zurück zum IE gehen.

Stuff Ich habe schon sah:

in Visual Studio Tools -> Optionen -> Debugging -> Just-In-Time wird Script bereits geprüft.

In IE Tools -> Internetoptionen, Registerkarte Erweitert, Abschnitt Browsing, Skriptdebugging deaktivieren ist weder für Internet Explorer noch für Andere aktiviert.

In VS, Eigenschaften-Menü nach Rechtsklick auf die Lösung, Allgemeine Eigenschaften -> Startup-Projekt, mehrere Startprojekte ausgewählt, Start-Aktion für das Projekt mit unserem JS-Code festlegen. Das Ergebnis davon war, dass meine Schaltfläche "Internet Explorer" in eine Startschaltfläche umgewandelt wurde, die das Projekt nicht ausführen konnte - es gab nur die Fehlermeldung "Der Debugger kann den Prozess nicht weiter ausführen. Das Debuggen konnte nicht gestartet werden."

Klicken Sie mit der rechten Maustaste auf das Projekt, wählen Sie Eigenschaften, gehen Sie zu Web -> Debuggers. Die Optionen, die ich bekomme, sind ASP.NET, Native Code, SQL Server und Silverlight. Nur ASP.NET ist aktiviert. Alle anderen aktiviert, aber nichts geändert.

Gereinigt und die gesamte Lösung neu aufgebaut.

Projekteigenschaften -> Build: Define DEBUG-Konstante definieren und TRACE-Konstante definieren werden überprüft. Im Debug-Dialog ist Debug-Info auf voll eingestellt. Nicht sicher, ob das überhaupt etwas mit JavaScript zu tun hat.

Debug -> Optionen und Einstellungen -> Debugging -> Allgemein: deaktivieren Sie einfach aktivieren My-Code

+0

Finden Sie heraus, welche Systemaktualisierungen am 4. April angewendet wurden. –

+0

@LightnessRacesinOrbit Keine. Seitdem habe ich am 2016-04-13 und am 12.04.2016 jeweils ein Sicherheitsupdate für Adobe Flash und Windows mit einem VS-Update durchgeführt. Zuvor war das letzte Update für Windows am 2016-03-23, und die Breakpoints funktionierten definitiv zwischen diesem Datum und dem 4. .. Glaubst du, ich sollte damit beginnen, Updates rückgängig zu machen? – skiphoppy

+0

Sie könnten es versuchen. –

Antwort

0

Am Ende nach vielen Änderungen, sah ich diese Fehlermeldung „Ignoriert Debugger Anweisung in eval Code in Zeile 2600 Um diese Aussage zu stoppen, deaktivieren Sie Just My Code. "

hatte ich bereits versucht, die My-Code fix einfach, aber ich versuchte es wieder, und meine Stützpunkte kamen zurück:

Debug -> Optionen und Einstellungen -> Debugging -> Allgemein: deaktivieren My-Code aktiviert Nur

Wenn Breakpoints ausgelöst werden, werden sie in einem speziellen Codefenster angezeigt, das eine Kopie des Codes enthält, in den ich die Debugger-Anweisung geschrieben habe. Ich denke, so hat es früher funktioniert. Anscheinend gibt es in unserem Code ein paar Stellen, an denen Breakpoints funktionieren, egal welche - diese brauchen diesen Fix nicht, und sie erscheinen nicht im speziellen Eval-Fenster.

Ich habe alle anderen Änderungen, die ich heute gemacht habe, nacheinander zurückgesetzt, und am Ende sieht es so aus, als würde ich Just My Code deaktivieren. Ich hatte sogar mit dem Erstellen einer _references.js versäumt, weil ich einen Fehler von JavaScript Language Service darüber sah, aber das scheint nicht notwendig zu sein.

Vielen Dank an diejenigen, die Vorschläge unterbreitet haben, einschließlich derjenigen, die Antworten gepostet und gelöscht haben, weil Sie erkannt haben, dass ich es bereits versucht habe. Es kann manchmal eine gute Idee sein, Dinge mehr als einmal zu versuchen.

Verwandte Themen