Отладка JavaScript в Visual Studio (или другом отладчике JS) - PullRequest
5 голосов
/ 16 февраля 2012

У меня есть файл .js, который обычно выполняется cscript.exe (то есть не запускается в браузере и не может быть запущен там).

Я знаю, что могу задать cscript.exe параметр //X, чтобы получить запрос на выбор отладчика. Хорошо. Это нормально.

Я выбираю «Visual Studio 2005 Debugger», IDE появляется, выполнение останавливается на первой строке. Хорошо.

Скрипт завершается (или я его прекращаю), я что-то редактирую и хочу снова его отладить.

Простая мысль - просто нажать F5 и снова запустить отладчик. Но это не работает. VS просто говорит мне, что не может найти никаких символов отладки в cscript.exe: screenshot

Что теперь? Повторный запуск cscript.exe из командной строки для каждого отладочного запуска, на мой взгляд, довольно обременителен.

Есть ли способ просто отладить скрипт с помощью VS? Также приветствуются подсказки для других инструментов отладки.


Edit:
Ответ из t0nyh0 довольно близок. Я создаю фиктивное консольное приложение, компилирую и запускаю отладчик. Однако две вещи не идеальны

  1. cscript.exe всегда запрашивает отладчик для использования (какой экземпляр VS).
    Можно ли это преодолеть, указав определенный экземпляр отладчика непосредственно в командной строке?

  2. Чтобы запустить событие после сборки, необходимо внести некоторые изменения в источники. В настоящее время я просто добавляю / удаляю пустую строку, чтобы запустить сборку моего фиктивного проекта.
    Есть ли способ всегда выполнять сценарий после сборки, даже если ничего не изменилось?

Ответы [ 4 ]

2 голосов
/ 14 марта 2012

Хотя это и не инструмент отладчика, вам следует рассмотреть возможность использования среды тестирования JavaScript для Visual Studio, такой как Chutzpah , которая, скорее всего, сделает вашу жизнь намного проще.

Наряду со стандартными инструментами отладки браузера (Firebug или Chrome Inspector) я обнаружил, что это все, что мне обычно требуется для создания чистого, проверенного кода, в основном не содержащего ошибок, JavaScript.

2 голосов
/ 14 марта 2012

Возможно, нет способа присоединить отладчик к самому cscript.exe, но вы можете создать событие после сборки, которое запускает пакетный файл, который выполняет команду cscript.exe //x myScript.js, чтобы каждый раз, когда вы собираете, он выполняется для вас автоматически.

См. Это для получения дополнительной информации о событиях после сборки: http://msdn.microsoft.com/en-us/library/ke5z92ks(v=vs.80).aspx

1 голос
/ 19 марта 2012

У меня нет cscript под рукой, но я думаю, что вы можете попробовать подключить VS к процессу вручную.

После того, как вы запустите js с помощью cscript.exe //x myScript.js, нажмите «Отладка - присоединить к процессу», найдите процесс cscript.exe и присоедините его.

Я забыл, если VS2005 имеет эту функцию, но VS2008 и VS2010 имеют.

Это собственное действие отладки, которое VS выполняет для отладки (присоединение к запущенному процессу). Если это не работает, я не думаю, что вы можете сделать это с помощью Visual Studio.

0 голосов
/ 18 марта 2012

Лучший Javascript-отладчик - Rhino Debugger См. http://www.mozilla.org/rhino/debugger.html. это открытый исходный код, и вы можете получить исходный код графического интерфейса отладчика. Вы можете настроить его по своему желанию :-).

...