2009-03-12 2 views
0

Nachdem ich erfahren hatte, wie man Debug-Meldungen mit der Tracepoint-Funktion von Visual Studio ausdruckt, war ich gespannt, ob es in JavaScript-Dateien funktioniert. Bis jetzt und nicht.Können Sie JavaScript-Variablen aus einem Visual Studio 2008 Tracepoint drucken?

Wenn ich eine .js-Datei in VS 2008 bearbeite, kann ich auf den Rand klicken, um einen Haltepunkt zu erstellen. Ich kann dann mit der rechten Maustaste auf den Haltepunkt klicken und "When Hit" auswählen und der Dialog wird geöffnet, um die Aktion zu definieren.

Ich wähle "Nachricht drucken" und "Ausführung fortsetzen". Auf diese Weise wird der Haltepunkt zu einem Trace-Punkt und gibt die Nachricht an das Ausgabefenster aus, wenn das ASP.Net-Programm im Debug ausgeführt wird.

Dies ist an sich sehr cool. Aber im C# -Code kann ich Variablen in die gedruckte Nachricht einfügen, indem ich sie in {} einfüge. Also kann ich sagen "In Function $ FUNCTION, x = {x}". Wenn ich versuche, dies mit JavaScript-Tracepoints zu tun, egal was ich in die Klammern setze, heißt es einfach "Variable ist nicht definiert".

Gibt es eine Möglichkeit, aussagekräftige Informationen anders als "Sie sind hier" Nachrichten in JavaScript Trace Points zu drucken?

Meine Absicht war Timing-Code, der in Debug-Ausgabe auf die Ausgabekonsole drucken würde, aber für Releases nicht auskommentiert werden muss.

Es unterstützt zumindest ein bisschen JavaScript, denn wenn ich eingebaute Variablen verwende, wie $ FUNCTION für den Funktionsnamen, funktioniert es. Eigentlich habe ich es gerade für "$ JScript anonyme Funktion" für $ FUNCTION drucken lassen, aber es war in einer anonymen Funktion. Wenn es ein $ TIMESTAMP wäre, wäre ich in guter Verfassung.

Antwort

0

Es gibt kein $ TIMESTAMP, aber es gibt einen $ TICK. Er druckt die ‚Zecke‘ Millisekundenzählwert in hexadezimal, so sieht es wie folgt aus:

Document Ready Start - 0x890A27 
Document Ready End - 0x890E7C 

So etwas Rechner arbeiten, um die Differenz zwischen den beiden herausfinden können.

weiß immer noch nicht, wie wenn JavaScript-Variablen zu bewerten ...

UPDATE:

Es ist nicht ganz so mit Trace so schön ist (da Sie eigentlich nicht Dinge hinzufügen, um den Code für sie), aber Sys.Debug.trace() macht was ich will, soweit Timing-Code Abschnitte.