PowerShell:
Использование отладчика
Как использовать:
В PowerShell можно отлаживать скрипты, используя встроенную среду PowerShell Integrated Scripting Environment (ISE) или Visual Studio Code (VS Code) с расширением PowerShell. Вот как использовать точки останова в обоих случаях:
PowerShell ISE:
# Установите точку останова на определенной строке
Set-PSBreakpoint -Script .\MyScript.ps1 -Line 5
# Запустите ваш скрипт как обычно
.\MyScript.ps1
# Когда скрипт достигнет точки останова, вы можете изучить переменные
$myVariable
# Продолжить выполнение
Continue
Visual Studio Code:
# Откройте ваш PowerShell скрипт в VS Code.
# Кликните слева от номера строки, чтобы установить точку останова.
# Начните отладку, нажав F5 или кликнув "Начать отладку".
# VS Code остановит выполнение на вашей точке останова.
# Используйте панель отладки для наблюдения за переменными, изучения стека вызовов и управления ходом выполнения.
Отладка в обеих средах позволяет делать шаг внутрь (F11), шаг с обходом (F10) и шаг наружу (Shift+F11) во время отладки.
Глубокое погружение
Исторически отладка в PowerShell была немного неудобной; это требовало много строк с Write-Host
для вывода состояния переменных или классического метода проб и ошибок. С появлением PowerShell ISE, и более недавно, VS Code с его продвинутыми функциями отладки, отладка в PowerShell стала почти такой же интуитивной, как и в полноценных языках программирования.
Альтернативы нативным средствам отладки PowerShell включают сторонние инструменты, такие как PowerGUI, или использование мощных сред разработки, таких как Visual Studio с плагином PowerShell.
При реализации отладчика стоит обратить внимание на область видимости скрипта, особенно при работе с dot-sourced скриптами или модулями. Точки останова могут быть условными, основанными на изменении переменных или основанными на строках, что позволяет точно контролировать процесс отладки.
Более того, с переходом на PowerShell Core (кросс-платформенный PowerShell), отладка в значительной степени перешла в руки VS Code, который обеспечивает единообразный опыт на разных платформах.
Смотрите также
Для получения дополнительной информации об отладке в PowerShell: