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: