Отладка vbs скриптов в visual studio
Мне было интересно, может ли Visual Studio запускать и отлаживать файлы VBScript?
Спасибо за ваше время.
Прежде всего, VBScript - это интерпретируемый язык, и его не нужно компилировать.
Но да, вы можете отлаживать свой файл VBScript внутри Visual Studio. В разделе «Инструменты / Внешние инструменты» вам необходимо один раз зарегистрировать Windows Script Host (CScript.exe или WScript.exe) с некоторыми параметрами запуска (чтобы сделать его доступным в меню «Инструменты»):
Затем просто откройте файл, который вы хотите отладить с помощью Visual Studio (через File -> Open -> File . )
Чтобы запустить отладчик, просто нажмите «Инструменты / Отладка VBScript».
Отладчик VS JIT спросит вас, какой отладчик вы хотите использовать. Просто выберите свой * .vbs файл и нажмите Да.
Примечание. Этот ответ все еще действителен и работает с Visual Studio 2019.
Для будущих читателей.
Это сработает в крайнем случае.
Вам будет предложено . и вы можете запустить новый экземпляр VS 2xxx ( 7
У меня это сработало, когда я хотел отладить сценарий slmgr.vbs:
1) Чтобы включить своевременный отладчик, вы должны включить его в реестре:
Установить JITDebug = 1
2) запустите такую команду:
3) Отладчик Visual Studio Just-In-Time запрашивает возможный отладчик. Вы можете просто выбрать «Новый экземпляр Microsoft Visual Studio 2012» и нажать кнопку «Да».
Я использую отладчик VBsEdit (щелкните здесь). Его можно использовать бесплатно, и он помогает быстро найти путь к проблеме, а также поставляется с рядом сценариев, которые вы можете использовать. Единственным недостатком бесплатной версии является то, что каждая загрузка программы будет длиться на одну секунду дольше, чем предыдущая, если вы не перезапустите VBsEdit или не купите полную версию. Надеюсь это поможет
Если вас интересует Visual Studio только для отладки VBScript и ничего другого, я рекомендую установить Visual Studio Community, поскольку это бесплатно, и установить эти минимальные отдельные компоненты, чтобы не занимать слишком много места (для VSC 2019 версии 16.7.7, примерно "800 МБ" + " 2,63 ГБ "):
- Компиляторы, инструменты сборки и среды выполнения
- Инструменты C ++ CMake для Windows
- MSVC v142 - инструменты сборки VS 2019 C ++ x64 / x86 (v14.27)
- Оперативный отладчик
После установки запустите Visual Studio, убедитесь, что JIT-отладчик активирован для «Скрипт» (меню Инструменты> Параметры> Отладка> Точно в срок).
Отладка кода в Visual Studio происходит довольно просто, если сравнивать это т процесс с другими IDE. Плюс отладчик Visual Studio обладает довольно широкими возможностями и позволяет отлаживать различные технологии, а если имеющихся средств не хватает, то можно воспользоваться дополнениями.
Отладка кода — это один из самых важных процессов. Без отладки в свет не выходит ни одно нормальное приложение. Потому что , независимо от опыта разработчика, код не всегда работает так , как нужно. А иногда и вообще работает совершенно не так. Вот тут как раз и приходит на помощь отладчик, который позволит разобраться , что не так , и найти изъяны. Можно , конечно , много часов провести за самостоятельным выявлением багов, но отладчиком все-таки быстрее и проще.
В то же время отладка кода — это не волшебная палочка, которая быстренько найдет и исправит все недочеты вашего кода. Отладка — это процесс, при котором код пошагово выполняется в некой программе, например , в Visual Studio. В процессе выполнения идет поиск точек, где вы могли допустить ошибку. А вы в это время можете анализировать свой код и вносить необходимые правки для устранения «косяков».
Работа с отладчиком , даже с таким простым , как Visual Studio, требует определенных знаний и понимания , что там внутри происходит. Умение работать с отладчиком вам в любом случае пригодится, если вы хотите связать свою жизнь с разработкой ПО. В этой статье мы ознакомим вас с процессом отладки при помощи Visual Studio.
Отладка кода в Visual Studio
- орфографические ошибки или опечатки,
- неправильно подключенные API,
- неправильное размещение последних корректировок в код,
- и др.
- ошибка компиляции;
- ошибка преобразования типа;
- код не поддерживает синтаксис;
- и др .
Как запустить отладчик Visual Studio
- Запустить саму программу Visual Studio.
- Откр ыть код приложения, который необходимо отладить.
- Потом при помощи нажатия клавиши «F5» запустить режим отладки. Также это можно сделать через меню, если нажать «Отладка», а потом «Начать отладку» .
последовательность исполнения кода;
работу памяти;
значение переменных и др.
Какая информация выводится отладчиком Visual Studio
В заключение
Отладка в Visual Studio дает возможность довольно быстро решить проблемы с вашим кодом. Да, без определенных знаний и понимания запустить и понять отладчик Visual Studio будет нелегко, но с опытом все станет понятнее. В разработке без отладки кода — путь в никуда , п отому что стабильность работы приложения — это залог его качества. И если на самом старте разработк и игнорировать этот процесс, то нет смысла идти дальше.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Отладка – неотъемлемый этап цикла разработки приложений, зачастую более важный, чем написание кода. Именно отладка позволяет устранить проблемные места в коде, которые приводят к разного рода ошибкам. В этой статье речь пойдет о том, как отлаживать приложения в среде Visual Studio и какие механизмы её облегчают. Предполагается, что читатель в общих чертах уже знаком что из себя представляет процесс отладки. Все примеры воспроизведены в Visual Studio 2008, но актуальны для любой версии.
Точки останова
Любой алгоритм выполняется последовательно, одна инструкция за другой. Точка остановки позволяет приостановить выполнение кода на определенной инструкции. Это необходимо, чтобы начать отладку с предположительно проблемного участка. Например, при модульной структуре проекта проблемы начались при подключении нового модуля. Незачем отлаживать весь проект, когда можно отладить только модуль. Точки остановки сильно облегчают процесс в этом случае. Для того, чтобы установить точку остановки необходимо кликнуть на небольшую область, выделенную как правило особым цветом, в левой части редактора кода. Также это можно сделать, установив каретку на нужную строку и нажав F9.
При установке точки останова в окне редактора кода будет выведена иконка напротив строки кода.
Клик левой кнопкой мыши по иконке приведет к удалению точки остановки, а для управления необходимо открыть контекстное меню (клик правой кнопкой).
Среди доступных действий также можно отключить и удалить все точки остановки. Те же действия возможно выполнить из вкладки Debug, либо по нажатию соответствующих горячих клавиш.
Работа с выводом отладчика
Запуск отладчика происходит при запуске проекта в среде разработки. При наличии установленных точек останова, выполнение прервется на первой из них автоматически. Важно понимать, что отладчик будет останавливать выполнение модуля напротив каждой активной точки остановки. Подробнее поговорим о том, какая информация может быть доступна во время отладки. Прежде всего, информация эта четко структурирована и выводится в отдельных окнах.
Посмотреть вывод всей возможной информации можно во вкладке Debug->Window.
Breakpoints – информация обо всех точках остановки в отлаживаемом проекте.
Watch – список наблюдаемых переменных. Переменные для наблюдения вносятся в список вручную и находятся там всегда, пока их не удалит разработчик.
Autos – переменные, с которыми идет работа в данный момент. Т.е. актуальные на момент исполнения кода переменные и их значения.
Locals – вывод локальных переменных и их значений.
Immediate – поиск и вывод значения переменной по символьному представлению. В отличие от Watch, не хранит список значений, а выводит значение по требованию.
Call Stack – стек вызовов. Показывает последовательность вызовов функций для отлаживаемого модуля до точки остановки.
Threads – вывод информации обо всех запущенных потоках отлаживаемого модуля. Из этого окна возможна работа с потоками через контекстное меню: остановка потоков, переход к исходному коду потока и т.д.
Modules – список загруженных модулей, необходимых для работы отлаживаемого (которые он подгружает для работы).
Processes – список процессов отлаживаемого модуля.
Memory – просмотр памяти отлаживаемого модуля в традиционном для любого hex-редактора виде.
Disassembly – просмотр ассемблерного листинга для отлаживаемого модуля. Очень хорошая возможность прямо из среды разработки посмотреть, как в итоге выглядит код на высокоуровневом языке.
Registers – вывод значений в регистрах
Что следует знать при работе c выводом отладчика
Информация в большинстве окон обновляется для каждой инструкции. Т.е. отладчик регистрирует и изменяет значения на новые. При этом измененные значения помечаются красным цветом.
Окно Watch поддерживает так называемые псевдопеременные. Своего рода макросы для определенных значений. Например, для вывода результата GetLastError после каждой строчки кода. Подробнее об этом можно прочитать здесь. Также Watch выполняет арифметические операции с переменными, а дляmanaged-кода может выполнять код.
Пошаговая отладка
Для того чтобы начать процесс отладки, необходимо поставить точку остановки в нужном месте и запустить модуль. Отладка станет доступна по достижению точки остановки. Также можно принудительно остановить выполнение модуля, в таком случае курсор автоматически переместится на код, который выполнялся до остановки. Но точка остановки при этом не установится.
Во время отладки в панели инструментов Visual Studio доступен Debug Toolbar. Если его нет, включить его можно, отметив элемент меню Debug во вкладке View->Toolbars.Все кнопки в панели инструментов повторяют вкладку Debug, нас в данный момент интересует навигация по отлаживаемому коду. В качестве примера рассмотрим следующую ситуацию:
шаг со входом. (f11) Если отладка остановилась на вызове функции, шаг со входом необходим для того, чтобы остановить выполнение модуля внутри тела функции. Т.е. если внутри функции нет точки остановки, можно продолжить пошаговое выполнение, выполнив шаг со входом. Обратите внимание, в данном примере шаг со входом остановит выполнение программы внутри функции get_message, а не hello, т.к. сначала выполняется она. Т.е. шаг со входом в данном случае остановит выполнение модуля на строке 5.
шаг с обходом. (f10) Пошаговая отладка внутри функции. Не переходит внутрь функции при ее вызове, а выполняет как обычную инструкцию. При завершении функции останавливается на верхней в стеке вызовов. Вне зависимости от того, сколько функций вызывается на строчке, отладчик не прерывает внутри этих функций выполнение модуля. В примере следующий шаг будет на строке 16.
шаг с выходом. (Shift + f11) В этом случае отладчик остановит выполнение модуля после выхода из текущей функции, где происходит отладка. В данном примере будет выход из функции main и переключение на отладку кода CRT.
Во время пошаговой отладки важно также знать, что курсор можно передвинуть на необходимую строчку кода (Drag&Drop). Т.е. при желании заново отладить алгоритм не нужно перезапускать процесс отладки. Правда следует понимать, что в этом случае ожидаемое поведение программы не гарантировано. Разработчик должен отдавать отчет своим действиям. Например, в случае ниже программист получит ошибку, если передвинет курсор на строку 9, т.к. память для с еще не была выделена.
Заключение
Процесс отладки в Visual Studio является одним из самых простых, если сравнивать с другими IDE. В статье были рассмотрены общие средства отладки для различных технологий. Тем не менее, в зависимости от типа проекта, средства для отладки могут дополняться. Например, при отладке GPU-кода. Да и возможности по отладке пошли далеко вперед после Visual Studio 2008 в сторону упрощения. Быть в курсе последних событий поможет тематический раздел в MSDN.
Я хотел бы найти бесплатное решение для отладки vbscripts, и я попробовал Visual Studio 2019 Community Edition. Я выполнил самую простую установку только с одним дополнительным компонентом, отладчиком Just-In-Time. Я выполнил все следующие шаги как администратор.
Я создал файл Script2.vbs с помощью этого очень простого скрипта:
Я запустил командную строку (cmd.exe) и ввел cscript.exe /x 'C:\. \Script2.vbs
Сценарий выполняется и завершается неудачно, как и ожидалось в строке 2, но
проблема в том, что отладчик Just-In-Time не запускается.
Мой главный вопрос:
Отключена ли функция отладки скриптов в Visual Studio Community Edition?
(что приводит ко второму вопросу: есть ли решение для бесплатной отладки скриптов VBS?)
- с моей копией сообщества VS 2019 это работает, как описано - открывается новый экземпляр VS 2019, и я могу выполнить код, запустив cscript / x somescript.vbs в CMD в качестве администратора
- @hello_earth Полагаю, это работает, потому что scd10en.exe существует в вашей системе, как объяснил Марк, проблема в том, что он больше не предоставляется.
Например это мой минимальный набор компонентов.
Это называется scd10en.exe .
Он исчез с веб-сайта MS.
Я установил Visual Studio 2019 Community Edition на новую установку Windows 10 и столкнулся с той же проблемой.
peregrinus дал правильный ответ, поэтому я его принял. Вот подробности:
Мой тест проводился с Visual Studio Community 2019, версия 16.7.7.
Я установил Visual Studio с нуля, используя только следующие 3 минимальных компонента
- Компиляторы, инструменты сборки и среды выполнения
- Инструменты C ++ CMake для Windows
- MSVC v142 - инструменты сборки VS 2019 C ++ x64 / x86 (v14.27)
- JIT-отладчик
Я запустил VBS с опцией /x запустить отладчик
CScript.exe /x Script2.vbsПоявляется всплывающее окно для выбора Just-In-Time Debugger, я сохранил предложенные параметры и нажал ОК
Показан код VBS, отладчик останавливается на первой строке скрипта.
Я могу добавить точку останова в строке 2, посмотреть переменную a , и если я нажму Продолжить ( F5 ), который останавливается в точке останова и т. д.
Читайте также: