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: