Можете ли вы распечатать переменные JavaScript из Visual Studio 2008 Tracepoint? - PullRequest
0 голосов
/ 12 марта 2009

Узнав, как распечатывать отладочные сообщения с помощью функции Tracepoint в Visual Studio, мне было любопытно посмотреть, работает ли она в файлах JavaScript. Пока что так и есть, и нет.

Если я редактирую файл .js в VS 2008, я могу нажать на поле, чтобы создать точку останова. Затем я могу щелкнуть правой кнопкой мыши точку останова и выбрать «При ударе», и появится диалоговое окно, чтобы определить действие.

Я выбираю «Распечатать сообщение» и «Продолжить выполнение». Таким образом, точка останова становится точкой трассировки и печатает сообщение в окне вывода, когда программа ASP.Net работает в режиме отладки.

Это само по себе очень круто. Но в коде C # я могу поместить переменные в печатное сообщение, заключив их в {}. Поэтому я могу сказать «В функции $ FUNCTION, x = {x}». Когда я пытаюсь сделать это с помощью точек трассировки JavaScript, независимо от того, что я поставил в скобки, он просто говорит: « переменная не определена».

Есть ли способ напечатать значимую информацию, кроме сообщений типа "Вы здесь", в точках трассировки JavaScript?

Мое намерение состояло в том, чтобы ввести временный код, который будет выводиться на консоль вывода при отладке, но не должен быть закомментирован для выпусков.

По крайней мере, он поддерживает JavaScript, потому что, если я использую его встроенные переменные, такие как $ FUNCTION для имени функции, он работает. На самом деле я только что напечатал «анонимную функцию JScript» для $ FUNCTION, но это было в анонимной функции. Если бы был $ TIMESTAMP, я был бы в хорошей форме.

1 Ответ

0 голосов
/ 12 марта 2009

Нет $ TIMESTAMP, но есть $ TICK. Он печатает счетчик миллисекунд 'tick' в шестнадцатеричном формате, поэтому он выглядит так:

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

Так что небольшая работа калькулятора может выяснить разницу между ними.

Все еще не знаю, как оценивать переменные JavaScript, хотя ...

UPDATE:

Это не так хорошо, как использование точек трассировки (поскольку вы на самом деле не добавляете что-то для них в код), но Sys.Debug.trace () делает то, что я хочу, в отношении временных секций кода. *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...