Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Назначение: Windows PowerShell 2.0, Windows PowerShell 3.0
Вставьте сюда введение.
РАЗДЕЛ
about_Debuggers
КРАТКОЕ ОПИСАНИЕ
Описывает отладчик Windows PowerShell®.
ПОДРОБНОЕ ОПИСАНИЕ
Отладка — это процесс проверки скрипта, пока он выполняется, для выявления и исправления ошибок в нем. Отладчик Windows PowerShell помогает находить и определять ошибки и неэффективные места в скриптах, функциях, командах, рабочих процессах Windows PowerShell и выражениях.
В Windows PowerShell 4.0 отладчик Windows PowerShell был обновлен для отладки скриптов, функций, рабочих процессов, команд и выражений, которые работают в консоли Windows PowerShell (не ISE) на удаленных компьютерах. Вы можете выполнить команду Enter-PSSession, чтобы создать интерактивный удаленный сеанс PowerShell, в котором можно задавать точки останова и выполнять отладку файлов и команд скриптов на удаленном компьютере. Функции команды Enter-PSSession были обновлены, теперь она позволяет повторно подключиться к отключенному сеансу, в котором выполняется скрипт или команда на удаленном компьютере. Если выполняющийся скрипт достигает точки останова, клиентский сеанс автоматически запускает отладчик. Если отключенный сеанс, в котором выполняется скрипт, уже достиг точки останова и останавливается в точке останова, Enter-PSSession автоматически запускает отладчик командной строки после повторного подключения к сеансу.
Отладчик Windows PowerShell 4.0 можно использовать для отладки рабочих процессов Windows PowerShell в консоли Windows PowerShell или Windows PowerShell ISE.
Можно использовать функции отладчика Windows PowerShell для проверки скрипта, функции, команды, рабочего процесса или выражения Windows PowerShell во время выполнения. Отладчик Windows PowerShell содержит набор командлетов, которые позволяют задавать точки останова, управлять ими и просматривать стек вызовов.
КОМАНДЛЕТЫ ОТЛАДЧИКА
Отладчик Windows PowerShell предоставляет следующий набор командлетов:
Set-PsBreakpoint: Sets breakpoints on lines, variables, and
commands.
Get-PsBreakpoint: Gets breakpoints in the current session.
Disable-PsBreakpoint: Turns off breakpoints in the current session.
Enable-PsBreakpoint: Re-enables breakpoints in the current session.
Remove-PsBreakpoint: Deletes breakpoints from the current session.
Get-PsCallStack: Displays the current call stack.
ЗАПУСК И ОСТАНОВКА ОТЛАДЧИКА
Чтобы запустить отладчик, задайте одну или несколько точек останова. Затем выполните скрипт, команду или функцию, которую требуется отладить.
По достижении точки останова выполнение останавливается, а управление передается отладчику.
Чтобы остановить отладчик, выполните скрипт, команду или функцию до конца. Или введите "stop" или "t".
КОМАНДЫ ОТЛАДЧИКА
При использовании отладчика в консоли Windows PowerShell управляйте выполнением с помощью следующих команд. В Windows PowerShell ISE используйте команды в меню "Отладка".
Примечание. Подробнее об использовании отладчика в других ведущих приложениях см. в документации соответствующего ведущего приложения.
s, Step-into Executes the next statement and then stops.
v, Step-over Executes the next statement, but skips functions
and invocations. The skipped statements are
executed, but not stepped through.
o, Step-out Steps out of the current function; up one level
if nested. If in the main body, it continues to
the end or the next breakpoint. The skipped
statements are executed, but not stepped through.
c, Continue Continues to run until the script is complete or
until the next breakpoint is reached. The skipped
statements are executed, but not stepped through.
l, List Displays the part of the script that is executing.
By default, it displays the current line, five
previous lines, and 10 subsequent lines. To continue
listing the script, press ENTER.
l <m>, List Displays 16 lines of the script beginning with the
line number specified by <m>.
l <m> <n>, List Displays <n> lines of the script, beginning with the
line number specified by <m>.
q, Stop Stops executing the script, and exits the debugger.
k, Get-PsCallStack Displays the current call stack.
<Enter> Repeats the last command if it was Step (s),
Step-over (v), or List (l). Otherwise, represents a
submit action.
?, h Displays the debugger command Help.
To exit the debugger, use Stop (q).
С помощью этих команд отладчика вы можете выполнить скрипт, остановиться на интересующей вас точке, проверить значения переменных и состояния системы и продолжить выполнение скрипта до выявления проблемы.
ПРИМЕЧАНИЕ.
Если перейти в оператор с оператором перенаправления, таким как ">", отладчик Windows PowerShell перешагивает все остальные операторы в скрипте.
ОТОБРАЖЕНИЕ ЗНАЧЕНИЙ ПЕРЕМЕННЫХ СКРИПТА
Находясь в отладчике, можно также вводить команды, показывать значения переменных, использовать командлеты и выполнять скрипты в командной строке.
Можно просмотреть текущее значение всех переменных в проверяемом скрипте, кроме следующих автоматических переменных:
$_
$Args
$Input
$MyInvocation
$PSBoundParameters
При попытке отобразить значение любой из этих переменных вы получите значение этой переменной для внутреннего конвейера, который используется отладчиком, а не значение переменной в скрипте.
Для отображения значения этих переменных скрипта, присвойте значение автоматической переменной новой переменной в скрипте. Затем можно отобразить значение новой переменной.
Например,
$scriptArgs = $Args
$scriptArgs
В примере в этом разделе значение переменной $MyInvocation переназначается следующим образом:
$scriptname = $MyInvocation.MyCommand.Path
СРЕДА ОТЛАДЧИКА
При достижении точки останова вы входите в среду отладчика. Командная строка также меняется и теперь начинается с "[DBG]:". При отладке рабочего процесса, она начинается с "[WFDBG]". Этот запрос можно изменить.
Кроме того, в некоторых ведущих приложениях, таких как консоль Windows PowerShell (но не в интегрированной среде сценариев (ISE) Windows PowerShell), вложенный запрос открывается для отладки. Вложенный запрос можно обнаружить, повторив символы "больше" (ASCII 62), отображаемые в командной строке.
Например, ниже приведена строка запроса отладки по умолчанию в консоли Windows PowerShell:
[DBG]: PS (get-location)>>>
Уровень вложенности можно найти с помощью автоматической переменной $NestedPromptLevel.
Кроме того, автоматическая переменная $PSDebugContext определена в локальной области. Наличие переменной $PsDebugContext позволяет определить, находитесь ли вы в отладчике.
Например:
if ($psdebugcontext) {"Debugging"} else {"Not Debugging"}
Значение переменной $PSDebugContext можно использовать при отладке.
[DBG]: PS>>> $psdebugcontext.invocationinfo
Name CommandLineParameters UnboundArguments Location
---- --------------------- ---------------- --------
= {} {} C:\ps-test\vote.ps1 (1)
ОТЛАДКА И ОБЛАСТЬ
Запуск отладчика не изменяет область, в которой вы работаете, но при достижении точки останова в скрипте вы переходите в область скрипта. Область скрипта — потомок области, в которой запущен отладчик.
Для поиска переменных и псевдонимов, определенных в области скрипта, используйте параметр Scope командлета Get-Alias или Get-Variable.
Например, следующая команда получает переменные в локальной области (в скрипте):
get-variable -scope 0
Данную команду можно сократить следующим образом:
gv -s 0
Это удобный способ просмотра только тех переменных, которые вы определили в скрипте и во время отладки.
ОТЛАДКА В КОМАНДНОЙ СТРОКЕ
Установить точку останова переменной или команды можно только в файле скрипта. Однако по умолчанию точка останова устанавливается для любого элемента, который выполняется в текущем сеансе.
Например, если установить точку останова для переменной $name, отладчик останавливается на любой переменной $name в любом скрипте, команде, функции, командлете скрипта или выражении, которое выполняется до отключения или удаления точки останова.
Это дает возможность отладки скриптов в более реалистичном контексте, в котором на них могут влиять функции, переменные и другие скрипты в сеансе и в профиле пользователя.
Точки останова строки связаны с файлами скриптов, поэтому они устанавливаются только в файлах скриптов.
ОТЛАДКА РАБОЧИХ ПРОЦЕССОВ
Отладчик Windows PowerShell 4.0 можно использовать для отладки рабочих процессов Windows PowerShell в консоли Windows PowerShell или Windows PowerShell ISE. Существуют некоторые ограничений при использовании отладчика Windows PowerShell для отладки рабочих процессов.
-- You can view workflow variables while you are in the debugger, but
setting workflow variables from within the debugger is not supported.
-- Tab completion when stopped in the workflow debugger is not
available.
-- Workflow debugging works only with synchronous running of workflows from
a Windows PowerShell script. You cannot debug workflows if they are
running as a job (with the –AsJob parameter).
-- Other nested debugging scenarios--such as a workflow calling another
workflow, or a workflow calling a script--are not implemented.
В следующем примере показана отладка рабочего процесса. Обратите внимание, что когда отладчик заходит в функцию рабочего процесса, строка запроса меняется на [WFDBG].
PS C:\> Set-PSBreakpoint -Script C:\TestWFDemo1.ps1 -Line 8
ID Script Line Command Variable Action
-- ------ ---- ------- -------- ------
0 TestWFDemo1.ps1 8
PS C:\> C:\TestWFDemo1.ps1
Entering debug mode. Use h or ? for help.
Hit Line breakpoint on 'C:\TestWFDemo1.ps1:8'
At C:\TestWFDemo1.ps1:8 char:5
+ Write-Output -InputObject "Now writing output:"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[WFDBG:localhost]: PS C:\>> list
3:
4: workflow SampleWorkflowTest
5: {
6: param ($MyOutput)
7:
8:* Write-Output -InputObject "Now writing output:"
9: Write-Output -Input $MyOutput
10:
11: Write-Output -InputObject "Get PowerShell process:"
12: Get-Process -Name powershell
13:
14: Write-Output -InputObject "Workflow function complete."
15: }
16:
17: # Call workflow function
18: SampleWorkflowTest -MyOutput "Hello"
[WFDBG:localhost]: PS C:\>> $MyOutput
Hello
[WFDBG:localhost]: PS C:\>> stepOver
Now writing output:
At C:\TestWFDemo1.ps1:9 char:5
+ Write-Output -Input $MyOutput
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[WFDBG:localhost]: PS C:\>> list
4: workflow SampleWorkflowTest
5: {
6: param ($MyOutput)
7:
8: Write-Output -InputObject "Now writing output:"
9:* Write-Output -Input $MyOutput
10:
11: Write-Output -InputObject "Get PowerShell process:"
12: Get-Process -Name powershell
13:
14: Write-Output -InputObject "Workflow function complete."
15: }
16:
17: # Call workflow function
18: SampleWorkflowTest -MyOutput "Hello"
19:
[WFDBG:localhost]: PS C:\>> stepOver
Hello
At C:\TestWFDemo1.ps1:11 char:5
+ Write-Output -InputObject "Get PowerShell process:"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[WFDBG:localhost]: PS C:\>> stepOut
Get PowerShell process:
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName PSComputerName
------- ------ ----- ----- ----- ------ -- ----------- --------------
433 35 106688 128392 726 2.67 7124 powershell localhost
499 44 134244 172096 787 2.79 7452 powershell localhost
Workflow function complete.
ОТЛАДКА ФУНКЦИЙ
Если установить точку останова на функции с разделами Begin, Process и End, отладчик останавливается в первой строке каждого раздела.
Например:
function test-cmdlet
{
begin
{
write-output "Begin"
}
process
{
write-output "Process"
}
end
{
write-output "End"
}
}
C:\PS> set-psbreakpoint -command test-cmdlet
C:\PS> test-cmdlet
Begin
Entering debug mode. Use h or ? for help.
Hit Command breakpoint on 'prompt:test-cmdlet'
test-cmdlet
[DBG]: C:\PS> c
Process
Entering debug mode. Use h or ? for help.
Hit Command breakpoint on 'prompt:test-cmdlet'
test-cmdlet
[DBG]: C:\PS> c
End
Entering debug mode. Use h or ? for help.
Hit Command breakpoint on 'prompt:test-cmdlet'
test-cmdlet
[DBG]: C:\PS>
ОТЛАДКА УДАЛЕННЫХ СКРИПТОВ
В Windows PowerShell 4.0 вы можете запустить отладчик Windows PowerShell в удаленном сеансе в консоли Windows PowerShell 4.0. Функции команды Enter-PSSession были обновлены, теперь она позволяет повторно подключиться к отключенному сеансу, в котором выполняется скрипт на удаленном компьютере. Если выполняющийся скрипт достигает точки останова, клиентский сеанс автоматически запускает отладчик. Ниже приведен пример, в котором показано, как это работает, при этом точки останова заданы в строках 6, 11, 22 и 25 скрипта. Обратите внимание, что в примере при запуске отладчика показано два запроса идентификации: имя компьютера, на котором запущен сеанс, и строка запроса DBG, позволяющая понять, что вы находитесь в режиме отладки.
Enter-Pssession -Cn localhost
[localhost]: PS C:\psscripts> Set-PSBreakpoint .\ttest19.ps1 6,11,22,25
ID Script Line Command Variable Action
-- ------ ---- ------- -------- ------
0 ttest19.ps1 6
1 ttest19.ps1 11
2 ttest19.ps1 22
3 ttest19.ps1 25
[localhost]: PS C:\psscripts> .\ttest19.ps1
Hit Line breakpoint on 'C:\psscripts\ttest19.ps1:11'
At C:\psscripts\ttest19.ps1:11 char:1
+ $winRMName = "WinRM"
+ ~
[localhost]: [DBG]: PS C:\psscripts>> list
6: 1..5 | foreach { sleep 1; Write-Output "hello2day $_" }
7: }
8:
9: $count = 10
10: $psName = "PowerShell"
11:* $winRMName = "WinRM"
12: $myVar = 102
13:
14: for ($i=0; $i -lt $count; $i++)
15: {
16: sleep 1
17: Write-Output "Loop iteration is: $i"
18: Write-Output "MyVar is $myVar"
19:
20: hello2day
21:
[localhost]: [DBG]: PS C:\psscripts>> stepover
At C:\psscripts\ttest19.ps1:12 char:1
+ $myVar = 102
+ ~
[localhost]: [DBG]: PS C:\psscripts>> quit
[localhost]: PS C:\psscripts> Exit-PSSession
PS C:\psscripts>
ПРИМЕРЫ
Этот тестовый скрипт определяет версию операционной системы и отображает соответствующее системное сообщение. Он содержит функцию, вызов функции и переменную.
Следующая команда отображает содержимое тестового файла скрипта:
c:>\PS-test> get-content test.ps1
function psversion {
"Windows PowerShell " + $psversiontable.psversion
if ($psversiontable.psversion.major -lt 2) {
"Upgrade to Windows PowerShell 2.0!"
}
else {
"Have you run a background job today (start-job)?"
}
}
$scriptname = $MyInvocation.MyCommand.Path
psversion
"Done $scriptname."
Для начала установите точку останова в нужном месте скрипта, например в строке, команде, переменной или функции.
Начните с создания точки останова в первой строке скрипта Test.ps1 в текущем каталоге.
PS C:\ps-test> set-psbreakpoint -line 1 -script test.ps1
Данную команду можно сократить следующим образом:
PS C:\ps-test> spb 1 -s test.ps1
Команда возвращает объект точки останова строки (System.Management.Automation.LineBreakpoint).
Column : 0
Line : 1
Action :
Enabled : True
HitCount : 0
Id : 0
Script : C:\ps-test\test.ps1
ScriptName : C:\ps-test\test.ps1
Теперь запустите скрипт.
PS C:\ps-test> .\test.ps1
Когда скрипт доходит до первой точки останова сообщение точки останова указывает на то, что отладчик активен. В нем описывается точка останова и отображается первая строка скрипта, в которой объявляется функция. Запрос командной строки также меняется, чтобы указать, что отладчик получил управление.
Строка предварительного просмотра содержит имя скрипта и номер строки просматриваемой команды.
Entering debug mode. Use h or ? for help.
Hit Line breakpoint on 'C:\ps-test\test.ps1:1'
test.ps1:1 function psversion {
DBG>
Используйте команду Step (s) для выполнения первого оператора в скрипте и предварительного просмотра следующего оператора. Следующий оператор использует автоматическую переменную $MyInvocation для присвоения переменной $ScriptName пути и имени файла скрипта.
DBG> s
test.ps1:11 $scriptname = $MyInvocation.MyCommand.Path
На этом этапе переменная $ScriptName не заполняется, но вы можете проверить значение переменной, отобразив ее значение. В этом случае значение равно $null.
DBG> $scriptname
DBG>
Используйте другую команду Step (s) для выполнения текущего оператора и предварительного просмотра следующего оператора в скрипте. Следующий оператор вызывает функцию PsVersion.
DBG> s
test.ps1:12 psversion
На этом этапе переменная $ScriptName заполняется, но вы можете проверить значение переменной, отобразив ее значение. В этом случае значение задается как путь к скрипту.
DBG> $scriptname
C:\ps-test\test.ps1
Используйте другую команду Step для выполнения вызова функции. Нажмите клавишу ВВОД или введите "s".
DBG> s
test.ps1:2 "Windows PowerShell " + $psversiontable.psversion
Сообщение об отладке содержит предварительный просмотр оператора в функции. Для выполнения оператора и предварительного просмотра следующего оператора можно использовать команду Step. Но в этом случае используйте команду Step-Out (o). Она завершает выполнение функции (если не достигнута точка останова) и переходит к следующему оператору в скрипте.
DBG> o
Windows PowerShell 2.0
Have you run a background job today (start-job)?
test.ps1:13 "Done $scriptname"
Поскольку мы находимся на последнем операторе в скрипте, команды Step, Step-Out и Continue имеют одинаковый эффект. В этом случае используйте Step-Out (o).
Done C:\ps-test\test.ps1
PS C:\ps-test>
Команда Step-Out выполняет последнюю команду скрипта. Стандартный запрос командной строки указывает, что отладчик завершил работу и вернул управление командному процессору.
Теперь запустите отладчик еще раз. Сначала удалите текущую точку останова с помощью командлетов Get-PsBreakpoint и Remove-PsBreakpoint. (Если вы считаете, что точку останова можно использовать повторно, выполните командлет Disable-PsBreakpoint вместо Remove-PsBreakpoint.)
PS C:\ps-test> Get-PsBreakpoint | Remove-PSBreakpoint
Данную команду можно сократить следующим образом:
PS C:\ps-test> gbp | rbp
Или выполните команду, написав функцию, например следующую:
function delbr { gbp | rbp }
Теперь создайте точку останова в переменной $scriptname.
PS C:\ps-test> set-psbreakpoint -variable scriptname -script test.ps1
Данную команду можно сократить следующим образом:
PS C:\ps-test> sbp -v scriptname -s test.ps1
Теперь запустите скрипт. Скрипт достигает точки останова переменной. По умолчанию используется режим записи, поэтому выполнение останавливается непосредственно перед оператором, который изменяет значение переменной.
PS C:\ps-test> .\test.ps1
Hit Variable breakpoint on 'C:\ps-test\test.ps1:$scriptname'
(Write access)
test.ps1:11 $scriptname = $MyInvocation.mycommand.path
DBG>
Покажите текущее значение переменной $scriptname, которая равна $null.
DBG> $scriptname
DBG>
Используйте команду Step (s) для выполнения оператора, который заполняет переменную. Затем отобразите новое значение переменной $scriptname.
DBG> $scriptname
C:\ps-test\test.ps1
Используйте команду Step (s) для предварительного просмотра следующего оператора в скрипте.
DBG> s
test.ps1:12 psversion
Следующий оператор вызывает функцию PsVersion. Чтобы пропустить функции, но по-прежнему выполнить ее, используйте команду Step-Over (v). Если вы уже находитесь в функции, команда Step-Over не даст результата. Вызов функции отображается, но не выполняется.
DBG> v
Windows PowerShell 2.0
Have you run a background job today (start-job)?
test.ps1:13 "Done $scriptname"
Команда Step-Over выполняет функцию и отображает следующий оператор в скрипте, который выводит последнюю строку.
Используйте команду Stop (t), чтобы выйти из отладчика. Восстанавливается стандартный запрос командной строки.
C:\ps-test>
Удалите текущую точку останова с помощью командлетов Get-PsBreakpoint и Remove-PsBreakpoint.
PS C:\ps-test> Get-PsBreakpoint | Remove-PSBreakpoint
Создайте новую точку останова в функции PsVersion.
PS C:\ps-test> Set-PsBreakpoint -command psversion -script test.ps1
Данную команду можно сократить следующим образом:
PS C:\ps-test> sbp -c psversion -s test.ps1
Теперь запустите скрипт.
PS C:\ps-test> .\test.ps1
Hit Command breakpoint on 'C:\ps-test\test.ps1:psversion'
test.ps1:12 psversion
DBG>
Скрипт достигает точку останова при вызове функции. На этом этапе функция еще не вызвана. Это позволяет использовать параметр Action командлета Set-PsBreakpoint, чтобы задать условия выполнения точки останова или выполнить задачи подготовки или диагностики, например запуск журнала или вызов скрипта диагностики и безопасности.
Чтобы задать действие, используйте команду Continue (c), чтобы выйти из скрипта, и команду Remove-PsBreakpoint для удаления текущей точки останова. (Точки останова доступны только для чтения, поэтому невозможно добавить действие к текущей точке останова.)
DBG> c
Windows PowerShell 2.0
Have you run a background job today (start-job)?
Done C:\ps-test\test.ps1
PS C:\ps-test> get-psbreakpoint | remove-psbreakpoint
PS C:\ps-test>
Теперь создайте новую точку останова команды с действием. Следующая команда устанавливает точку останова команды с действием, которое регистрирует значение переменной $scriptname в журнале при вызове функции. Поскольку ключевое слово Break не используется в действии, выполнение не останавливается. (Обратный апостроф ("`") — это символ продолжения строки.)
PS C:\ps-test> set-psbreakpoint -command psversion -script test.ps1 `
-action { add-content "The value of `$scriptname is $scriptname." `
-path action.log}
Кроме того, можно добавить действия, которые задают условия для точки останова. В следующей команде точка останова команды выполняется, только если задана политика выполнения RemoteSigned — наиболее строгая политика, которая по-прежнему позволяет запускать скрипты. (Обратный апостроф ("`") — это символ продолжения.)
PS C:\ps-test> set-psbreakpoint -script test.ps1 -command psversion `
-action { if ((get-executionpolicy) -eq "RemoteSigned") { break }}
Ключевое слово Break в действии перенаправляет отладчик для выполнения точки останова. Вы также можете использовать ключевое слово Continue для выполнения без остановки. Поскольку ключевое слово по умолчанию — Continue, необходимо указать ключевое слово Break, чтобы остановить выполнение.
Теперь запустите скрипт.
PS C:\ps-test> .\test.ps1
Hit Command breakpoint on 'C:\ps-test\test.ps1:psversion'
test.ps1:12 psversion
Поскольку задана политика выполнения RemoteSigned, выполнение останавливается в вызове функции.
На этом этапе может потребоваться проверить стек вызовов. Используйте командлет Get-PsCallStack или команду Get-PsCallStack отладчика (k). Следующая команда возвращает текущий стек вызовов.
DBG> k
2: prompt
1: .\test.ps1: $args=[]
0: prompt: $args=[]
В этом примере показаны лишь некоторые из многих способов использования отладчика Windows PowerShell.
Для получения подробных сведений о командлетах отладчика введите следующую команду:
help <cmdlet-name> -full
Например, введите следующую команду:
help set-psbreakpoint -full
ДРУГИЕ ФУНКЦИИ ОТЛАДКИ В WINDOWS POWERSHELL
В дополнение к отладчику Windows PowerShell, Windows PowerShell содержит несколько других функций, которые можно использовать для отладки скриптов и функций.
-- Windows PowerShell Integrated Scripting Environment (ISE) includes
an interactive graphical debugger. For more information, start Windows
PowerShell ISE and press F1.
-- The Set-PSDebug cmdlet offers very basic script debugging features,
including stepping and tracing.
-- Use the Set-StrictMode cmdlet to detect references to
uninitialized variables, to references to non-existent properties
of an object, and to function syntax that is not valid.
-- Add diagnostic statements to a script, such as statements that
display the value of variables, statements that read input from
the command line, or statements that report the current
instruction. Use the cmdlets that contain the Write verb for
this task, such as Write-Host, Write-Debug, Write-Warning, and
Write-Verbose.
СМ. ТАКЖЕ
Disable-PsBreakpoint
Enable-PsBreakpoint
Get-PsBreakpoint
Get-PsCallStack
Remove-PsBreakpoint
Set-PsBreakpoint
Set-PsDebug
Set-Strictmode
Write-Debug
Write-Verbose