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 або клацнувши "Start Debugging".

# VS Code зупинить виконання на вашій точці зупину.
# Використовуйте панель налагодження, щоб спостерігати за змінними, інспектувати стек викликів і контролювати потік.

Налагодження в обох середовищах дозволяє вам крокувати всередину (F11), крокувати з обходом (F10) та крокувати назовні (Shift+F11) під час налагодження.

Поглиблений огляд

Історично налагодження у PowerShell було дещо незграбним; це вимагало багато рядків Write-Host для виведення станів змінних або класичний метод спроб та помилок. З появою PowerShell ISE, і нещодавно, VS Code з його багатими можливостями налагодження, налагодження PowerShell стало майже настільки інтуїтивно зрозумілим, як у повноцінних мовах програмування.

Альтернативи рідним інструментам налагодження PowerShell включають сторонні інструменти, як-от PowerGUI, або використання потужних IDE, як Visual Studio із плагіном PowerShell.

При впровадженні дебагера враховуйте область дії скрипта, особливо при роботі з dot-sourced скриптами або модулями. Точки зупину можуть бути засновані на умовах, змінах змінних або рядках, що дозволяє точно контролювати процес налагодження.

Більше того, з переходом на PowerShell Core (кросплатформенний PowerShell), налагодження в значній мірі перейшло до VS Code, який забезпечує послідовний досвід на різних платформах.

Дивіться також

Для додаткової інформації про налагодження в PowerShell: