как отладить vbs скрипт
Посоветуйте среду для отладки скриптов VBS и не только их
Всем привет.
Подскажите, посоветуйте IDE/среду для отладки скриптов VBS (и их написания).
Устал уже искать строки под номером ХХ вставлять WScript.Echo и проверять значения переменных.
Система Windows 7, 64 bit.
Важный момент, что бы возможно было бы перехватывать/переводить выполнение скрипта сразу в отладчике по шагам.
Например, запускаю я скрипт из bat файла через командную строку и передаю в скрипт некоторые параметры (WshArguments.count > 0), то мне хотелось видеть его пошаговое выполнение (с полученными параметрами) в отладчике.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Посоветуйте программу для написания, просмотра и отладки lua скриптов
Посоветуйте пожалуйста программу для написания, просмотра и отладки lua скриптов. Мне конечно.
Подскажите среду для удобной отладки программ на Haskell
Работая с C++ хоть в Visual Studio хоть в Eclipse я не могу себе представить написание кода без.
Подскажите удобную и простую среду для проектирования и отладки алгоритмов
Гугль выдал «Automation Studio», MatLab и Simulink. Но может есть что-то попроще и одновременно.
FlasherX, а вы как сами производите отладку скриптов VBS? Можете поделится секретом/лайфхаком?
Что бы можно было наблюдать текущие значения переменных и пр.
Добавлено через 4 минуты
А секрета в моём случае никакого нет. Простая работа c объектом Err (1, 2, 3).
Поблочное выполнение не представляю.
FlasherX, а PrimalScript какой версии пользуетесь? Можете глянуть?
Еще, важно что бы в IDE хорошая навигация по свойствам методам была. Имею ввиду автоподстановка вводимого метода, навигация по имеющимся методам у объекта и пр. Справка по всем методам. В какой IDE самая удобная на ваш взгляд?
oleggy, зачем ориентироваться на меня по версиям? Логично, что более новая версия улучшена и отлажена.
IntelliSence есть во всех перечисленных. Это же не простые текстовые редакторы. Для меня в этом плане удобней та, что на постоянке, поэтому первой и указал, т.к. сие — ключевой момент. Ей, конечно, далеко до VSCode + node.js/etc, но всё же там есть свои удобства (End-ы, CreateObject( + BS, свойства, методы, параметры/значения с подсказками, автооступы). Если бы не забросили и отладили баги, то была бы вообще конфеткой, правда платной. Но и глюки у неё случаются, иногда приходится резервить файлы из Temp-a после псевдокрахов.
bidstrup, а Excel продаётся отдельно? Не знал. )) А выходить — как все 30 лет выходили, так и сейчас.
P.S.: И вообще отлаживать vbs и vba, который, к слову, не только в Excel, это отнюдь не от одно и то же.
Никто 200+ тугриков платить (и не только среди нищебродов, ибо на одном мелкомягком офисе свет клином не сошёлся, десятки и сотни платных программ — это уже 20К+ тугриков, не говоря уже про месячные/годовые подписки) не будет, если не захочет. 30 лет большинство наших варезом как пользовались, так и будут в режиме «тишины» пользоваться. Чему тут удивляться?
How do I debug a stand-alone VBScript script?
Hence I would like to know if there is any way to debug this script. I have Windows XP and Office 2003 installed. I cannot install any other applications on the office computer.
5 Answers 5
Run cscript.exe for full command args, I think
will run the script in a debugger.
Easier to use and good debugging tools.
For posterity, here’s Microsoft’s article KB308364 on the subject. This no longer exists on their website, it is from an archive.
How to debug Windows Script Host, VBScript, and JScript files
SUMMARY
The purpose of this article is to explain how to debug Windows Script Host (WSH) scripts, which can be written in any ActiveX script language (as long as the proper language engine is installed), but which, by default, are written in VBScript and JScript. There are certain flags in the registry and, depending on the debugger used, certain required procedures to enable debugging.
MORE INFORMATION
To debug WSH scripts in Microsoft Visual InterDev, the Microsoft Script Debugger, or any other debugger, use the following command-line syntax to start the script:
can be used, as follows, to throw an immediate exception, which starts the debugger immediately after the script starts running:
If Visual InterDev is the default debugger, make sure that just-in-time (JIT) functionality is enabled. To do this, follow these steps:
Start Visual InterDev.
On the Tools menu, click Options.
Click Debugger, and then ensure that the Just-In-Time options are selected for both the General and Script categories.
PROPERTIES
Keywords: kbdswmanage2003swept kbinfo KB308364
Как отлаживать автономный VBScript script?
У меня есть VBScript script, который принимает 2 аргумента командной строки и выполняет некоторую проверку.
Мне нужно отладить это, чтобы увидеть, как программа выполняется.
Я пытался вставить это в Excel (используя VBA). Однако существуют некоторые конструкции, такие как Const и т.д., Которые не поддерживаются, а также некоторые проверки, такие как принятие аргументов командной строки, терпят неудачу.
Следовательно, я хотел бы знать, есть ли способ отладить этот script.
У меня установлены Windows XP и Office 2003. Я не могу установить какие-либо другие приложения на офисном компьютере.
Это для будущих читателей. Я обнаружил, что самым простым способом для меня было использовать Visual Studio → Инструменты → Внешние инструменты. Подробнее в этом ответе.
Простые в использовании и хорошие средства отладки.
Запустите cscript.exe для полных команд args, думаю,
запустит script в отладчике.
Это откроет отладчик, откройте файл и запустит отладчик в режиме графического интерфейса.
Пожалуйста, проверьте здесь.
Для потомков, здесь статья Microsoft KB308364 на эту тему. Это больше не существует на их сайте, это из архива.
Как отлаживать файлы Windows Script Host, VBScript и JScript
РЕЗЮМЕ
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
Для отладки сценариев WSH в Microsoft Visual InterDev, отладчике сценариев Microsoft или любом другом отладчике используйте следующий синтаксис командной строки для запуска сценария:
можно использовать следующим образом, чтобы вызвать немедленное исключение, которое запускает отладчик сразу после запуска скрипта:
Если Visual InterDev является отладчиком по умолчанию, убедитесь, что включена функция JIT. Для этого выполните следующие действия:
Запустите Visual InterDev.
В меню Сервис выберите пункт Параметры.
Нажмите «Отладчик» и убедитесь, что параметры «Just-In-Time» выбраны для категорий «Общее» и «Сценарий».
СВОЙСТВА
Ключевые слова: kbdswmanage2003swept kbinfo KB308364
Руководство. Отладка кода Visual Basic с помощью Visual Studio
В этом пошаговом руководстве рассматриваются возможности отладчика Visual Studio. Более полное описание функций отладчика см. в статье c Знакомство с отладчиком Visual Studio. Отладка приложения обычно означает запуск и выполнение приложения с подключенным отладчиком. При этом в отладчике доступно множество способов наблюдения за выполнением кода. Вы можете пошагово перемещаться по коду и просматривать значения, хранящиеся в переменных, задавать контрольные значения для переменных, чтобы отслеживать изменение значений, изучать путь выполнения кода, просматривать выполнение ветви кода и т. д. Если вы не знакомы с процессом отладки, перед выполнением задач в этой статье рекомендуется прочесть документ об отладке для начинающих.
Несмотря на то, что демонстрационное приложение написано на Visual Basic, большинство функций применимы к C#, C++, F#, Python, JavaScript и другим языкам, поддерживаемым Visual Studio (F# не поддерживает возможность «Изменить и продолжить»). F# и JavaScript не поддерживают окно Видимые). Снимки экрана приведены для Visual Basic.
В этом руководстве рассмотрены следующие задачи:
Предварительные требования
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
Создание проекта
Откройте Visual Studio 2017.
В верхней строке меню последовательно выберите Файл > Создать > Проект.
Если шаблона проекта Console App (.NET Core) (Консольное приложение (.NET Core)) нет, выберите ссылку Открыть Visual Studio Installer в левой области диалогового окна Новый проект.
Запустите Visual Studio.
Если окно запуска не открыто, выберите Файл > Окно запуска.
На начальном экране выберите Создать проект.
В поле поиска окна Создание проекта введите консоль. Затем выберите Visual Basic в списке языков и Windows в списке платформ.
В поле Имя проекта окна Настроить новый проект введите get-started-debugging. Нажмите кнопку Далее.
Новый проект открывается в Visual Studio.
Запустите Visual Studio.
Если окно запуска не открыто, выберите Файл > Окно запуска.
На начальном экране выберите Создать проект.
В поле поиска окна Создание проекта введите консоль. Затем выберите Visual Basic в списке языков и Windows в списке платформ.
В поле Имя проекта окна Настроить новый проект введите get-started-debugging. Нажмите кнопку Далее.
Убедитесь, что в окне Дополнительные сведения выбрана рекомендуемая целевая платформа (.NET 6.0), а затем нажмите кнопку Создать.
Новый проект открывается в Visual Studio.
Создание приложения
Откройте файл Program.vb и замените все его содержимое по умолчанию следующим кодом:
Запуск отладчика
Нажмите клавишу F5 (Отладка > Начать отладку) или кнопку Начать отладку на панели инструментов отладки.
При нажатии клавиши F5 происходит запуск приложения с присоединенным отладчиком. Но пока мы не сделали ничего особенного, чтобы проанализировать код. Поэтому приложение будет просто загружено, и вы увидите выходные данные консоли.
В этом руководстве мы более подробно рассмотрим приложение с отладчиком и познакомимся с возможностями отладчика.
Остановите отладчик, нажав красную кнопку остановки (или сочетание клавиш SHIFT + F5).
В окне консоли нажмите клавишу, чтобы закрыть его.
Нажмите клавишу F5 (Отладка > Начать отладку) или зеленую кнопку Начать отладку на панели инструментов отладки.
При нажатии клавиши F5 происходит запуск приложения с присоединенным отладчиком. Но пока мы не сделали ничего особенного, чтобы проанализировать код. Поэтому приложение будет просто загружено, и вы увидите выходные данные консоли.
В этом руководстве мы более подробно рассмотрим приложение с отладчиком и познакомимся с возможностями отладчика.
Остановите отладчик, нажав сочетание клавиш (SHIFT + F5) или красную кнопку Остановить отладку на панели инструментов отладки.
В окне консоли нажмите клавишу, чтобы закрыть его.
Установка точки останова и запуск отладчика
В цикле For функции Main установите точку останова, щелкнув левое поле следующей строки кода:
В месте установки точки останова появится красный круг .
Точки останова — это один из самых простых и важных компонентов надежной отладки. Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода.
Нажмите клавишу F5 или кнопку Начать отладку . Приложение запустится и отладчик перейдет к строке кода, где задана точка останова.
Желтая стрелка представляет оператор, на котором приостановлен отладчик. В этой же точке приостанавливается выполнение приложения (этот оператор пока не выполнен).
Если приложение еще не запущено, клавиша F5 запускает отладчик и останавливается в первой точке останова. В противном случае F5 продолжает выполнение приложения до следующей точки останова.
Точки останова полезны, если вам известны строка или раздел кода, которые вы хотите подробно изучить. Дополнительные сведения о различных типах точек останова, которые можно задать, например об условных точках останова, см. в разделе Использование точек останова.
В цикле For функции Main установите точку останова, щелкнув левое поле следующей строки кода:
В месте установки точки останова появится красный круг.
Точки останова — это один из самых простых и важных компонентов надежной отладки. Точка останова указывает, где Visual Studio следует приостановить выполнение кода, чтобы вы могли проверить значения переменных или поведение памяти либо выполнение ветви кода.
Нажмите клавишу F5 (Отладка > Начать отладку) или кнопку Начать отладку на панели инструментов отладки. Приложение запустится и отладчик перейдет к строке кода, где задана точка останова.
Желтая стрелка представляет оператор, на котором приостановлен отладчик. В этой же точке приостанавливается выполнение приложения (этот оператор пока не выполнен).
Если приложение еще не запущено, клавиша F5 запускает отладчик и останавливается в первой точке останова. В противном случае F5 продолжает выполнение приложения до следующей точки останова.
Точки останова полезны, если вам известны строка или раздел кода, которые вы хотите подробно изучить. Дополнительные сведения о различных типах точек останова, которые можно задать, например об условных точках останова, см. в разделе Использование точек останова.
Переход по коду в отладчике с помощью пошаговых команд
Здесь мы используем в основном сочетания клавиш, так как они позволяют быстро выполнять приложение в отладчике (эквивалентные команды, например команды меню, отображаются в круглых скобках).
После двойного нажатия клавиши F11 вы должны находиться на следующей строке кода:
F11 — это команда Шаг с заходом, которая выполняет приложение с переходом к следующему оператору. Клавишу F11 удобно использовать для более детальной проверки потока выполнения. (Мы также покажем другие варианты более быстрого перемещения по коду.) По умолчанию отладчик пропускает непользовательский код (дополнительные сведения см. в статье об отладке в режиме «Только мой код»).
Предположим, что вы закончили изучать метод SendMessage и хотите выйти из него, но остаться в отладчике. Это можно сделать с помощью команды Шаг с выходом.
Нажмите сочетание клавиш SHIFT + F11 (или выберите Отладка > Шаг с выходом).
Эта команда возобновляет выполнение приложения (и работу отладчика) до возврата данных текущим методом или текущей функции.
Во время приостановки на вызове метода один раз нажмите клавишу F10 (или выберите Отладка > Шаг с обходом).
В этой статье мы используем сочетания клавиш, так как они позволяют быстро выполнять приложение в отладчике (эквивалентные команды, например команды меню, отображаются в круглых скобках).
После двойного нажатия клавиши F11 вы должны находиться на следующей строке кода:
F11 — это команда Шаг с заходом, которая выполняет приложение с переходом к следующему оператору. Клавишу F11 удобно использовать для более детальной проверки потока выполнения. (Мы также покажем другие варианты более быстрого перемещения по коду.) По умолчанию отладчик пропускает непользовательский код (дополнительные сведения см. в статье об отладке в режиме «Только мой код»).
Предположим, что вы закончили изучать метод SendMessage и хотите выйти из него, но остаться в отладчике. Это можно сделать с помощью команды Шаг с выходом.
Нажмите сочетание клавиш SHIFT + F11 (или выберите Отладка > Шаг с выходом).
Эта команда возобновляет выполнение приложения (и работу отладчика) до возврата данных текущим методом или текущей функции.
Во время приостановки на вызове метода один раз нажмите клавишу F10 (или выберите Отладка > Шаг с обходом).
Переход по коду с помощью команды «Выполнение до щелкнутого»
Нажмите клавишу F5, чтобы снова перейти к точке останова.
Кнопка Выполнение до щелкнутого впервые появилась в Visual Studio 2017. (Если кнопка с зеленой стрелкой отсутствует, воспользуйтесь клавишей F11, чтобы переместить отладчик в нужное место.)
Щелкните кнопку Выполнить до нажатия .
Использование этой кнопки аналогично установке временной точки останова. Функция Выполнение до щелкнутого удобна для быстрой работы в видимой области кода приложения (можно щелкнуть в любом открытом файле).
Нажмите клавишу F5, чтобы снова перейти к точке останова.
Щелкните кнопку Выполнить до нажатия.
Использование этой кнопки аналогично установке временной точки останова. Функция Выполнение до щелкнутого удобна для быстрой работы в видимой области кода приложения (можно щелкнуть в любом открытом файле).
Быстрый перезапуск приложения
Щелкните кнопку Перезапустить на панели инструментов отладки (CTRL + SHIFT + F5).
Кнопка Перезапустить позволяет сэкономить время, затрачиваемое на остановку приложения и перезапуск отладчика. Отладчик приостанавливается в первой точке останова, достигнутой при выполнении кода.
Чтобы перезапустить приложение, нажмите сочетание клавиш CTRL + SHIFT + F5. Такое действие гораздо быстрее, чем остановка приложения и перезапуск отладчика. Отладчик приостанавливается в первой точке останова, достигнутой при выполнении кода.
Проверка переменных с помощью подсказок по данным
Функции, позволяющие проверять переменные, являются самыми полезными возможностями отладчика. Реализовывать эту задачу можно разными способами. Часто при попытке выполнить отладку проблемы пользователь старается выяснить, хранятся ли в переменных значения, которые требуются ему в определенное время.
Часто при отладке требуется быстро проверить значения свойств в переменных, чтобы убедиться, что в них хранятся ожидаемые значения. Советы по данным — отличный способ это сделать.
Функции, позволяющие проверять переменные, являются самыми полезными возможностями отладчика. Реализовывать эту задачу можно разными способами. Часто при попытке выполнить отладку проблемы пользователь старается выяснить, хранятся ли в переменных значения, которые требуются ему в определенное время.
Часто при отладке требуется быстро проверить значения свойств в переменных, чтобы убедиться, что в них хранятся ожидаемые значения. Советы по данным — отличный способ это сделать.
Проверка переменных с помощью окон «Видимые» и «Локальные»
Взгляните на окно Видимые в нижней части редактора кода.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка > Окна > Видимые.
В окне Видимые отображаются переменные и их текущие значения. В окне Видимые отображаются все переменные, используемые в текущей или предыдущей строке (сведения о зависящем от языка поведении см. в соответствующей документации).
Затем посмотрите на окно Локальные на вкладке рядом с окном Видимые.
В окне Локальные показаны переменные, которые находятся в текущей области, то есть текущем контексте выполнения.
Взгляните на окно Видимые в нижней части редактора кода.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка > Окна > Видимые.
В окне Видимые отображаются переменные и их текущие значения. В окне Видимые отображаются все переменные, используемые в текущей или предыдущей строке (сведения о зависящем от языка поведении см. в соответствующей документации).
Затем посмотрите на окно Локальные на вкладке рядом с окном Видимые.
В окне Локальные показаны переменные, которые находятся в текущей области, то есть текущем контексте выполнения.
Установка контрольного значения
В основном окне редактора кода щелкните правой кнопкой мыши переменную name и выберите команду Добавить контрольное значение.
В нижней части редактора кода откроется окно Контрольное значение. В окне Контрольное значение можно указать переменную (или выражение), которую необходимо отслеживать.
Просмотр стека вызовов
Во время приостановки в цикле For щелкните окно Стек вызовов, которое по умолчанию открыто в нижней правой области.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка > Окна > Стек вызовов.
В окне Стек вызовов показан порядок вызова методов и функций. В верхней строке приведена текущая функция (в данном приложении метод SendMessage ). Во второй строке показано, что функция SendMessage была вызвана из метода Main и т. д.
Окно Стек вызовов аналогично перспективе «Отладка» в некоторых интегрированных средах разработки, например Eclipse.
Стек вызовов хорошо подходит для изучения и анализа потока выполнения приложения.
Дважды щелкните строку кода, чтобы просмотреть исходный код. При этом также изменится текущая область, проверяемая отладчиком. Это действие не перемещает отладчик.
Для выполнения других задач можно воспользоваться контекстными меню из окна Стек вызовов. Например, можно вставлять точки останова в указанные функции, перемещать отладчик с помощью функции Выполнение до текущей позиции и изучать исходный код. Дополнительные сведения см. в разделе Практическое руководство. просмотреть стек вызовов.
Во время приостановки в цикле For щелкните окно Стек вызовов, которое по умолчанию открыто в нижней правой области.
Если оно закрыто, откройте его во время приостановки в отладчике, выбрав Отладка > Окна > Стек вызовов.
В окне Стек вызовов показан порядок вызова методов и функций. В верхней строке приведена текущая функция (в данном приложении метод SendMessage ). Во второй строке показано, что функция SendMessage была вызвана из метода Main и т. д.
Окно Стек вызовов аналогично перспективе «Отладка» в некоторых интегрированных средах разработки, например Eclipse.
Стек вызовов хорошо подходит для изучения и анализа потока выполнения приложения.
Дважды щелкните строку кода, чтобы просмотреть исходный код. При этом также изменится текущая область, проверяемая отладчиком. Это действие не перемещает отладчик.
Для выполнения других задач можно воспользоваться контекстными меню из окна Стек вызовов. Например, можно вставлять точки останова в указанные функции, перемещать отладчик с помощью функции Выполнение до текущей позиции и изучать исходный код. Дополнительные сведения см. в разделе Практическое руководство. просмотреть стек вызовов.
Изменение потока выполнения
Нажмите клавишу F11.
Отладчик повторно выполнит метод Console.WriteLine (вы увидите это в выходных данных окна консоли).
Изменяя поток выполнения, можно решать множество задач, например тестировать различные пути выполнения кода или повторно выполнять код без перезапуска отладчика.
Как правило, при работе с этой функцией необходимо соблюдать осторожность — вы увидите соответствующее предупреждение во всплывающей подсказке. Могут отображаться и другие предупреждения. При перемещении указателя предыдущее состояние приложения не возвращается.
Чтобы продолжить выполнение приложения, нажмите клавишу F5.
Поздравляем с завершением этого учебника!
Следующие шаги
В этом руководстве вы узнали, как запускать отладчик, осуществлять пошаговое выполнение кода и проверять переменные. Возможно, вы захотите получить более полное представление о функциях отладчика, а также воспользоваться ссылками на дополнительные сведения.