есть ли в powershell ключевое слово hard breakpoint

#powershell #debugging

#powershell #отладка

Вопрос:

Искал и не смог найти ответ на вопрос, есть ли в powershell решение с жесткой точкой останова. Что-то вроде javascript debugger; , python breakpoint() и vb Stop .

Вместо этого я должен создавать фиктивные строки внутри операторов if, которым я могу назначить мягкие точки останова.

 if ($item.Value -eq "some large iteration case i need to debug through") { 
    $i = "using to enable soft breakpoint on specific case for debugging purposes as powershell doesn't appear to have have hard breakpoint expression"
}

  

Ответ №1:

Вы можете использовать Set-PSBreakpoint и включить / отключить-psbreakpoint

https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/set-psbreakpoint?view=powershell-7

https://ss64.com/ps/enable-psbreakpoint.html

Комментарии:

1. Спасибо за ответ. Я видел эти параметры командлета и Set-PSBreakpoint -Script myscript.ps1 -Variable myvariable также Set-PSBreakpoint -Script myscript.ps1 -Line <line #> протестировал, после чего Get-PSBreakpoint -Script myscript.ps1 подтвердил, что он установлен, а затем запустил скрипт, и он останавливается на присвоении переменной или номере строки. Я также использовал Remove-PSBreakpoint -Id <breakpoint #> для их удаления. Я думаю, что это полезное решение для hard breakpoint, просто не совсем тот подход, основанный на ключевых словах в коде, который я искал.

Ответ №2:

Загрузите PowerShell ISE или используйте Visual Studio с расширением PowerShell.

Комментарии:

1. Спасибо за ответ. У меня есть как powershell ISE, так и Visual Studio code, которые оба поддерживают программные точки останова powershell. Искал ключевое слово, которое включало жесткие точки останова, так что вам будет предложено подключить отладчик при запуске сценария, не запущенного непосредственно отладочной средой ide.