Оператор отладчика в PowerShell - PullRequest
2 голосов
/ 16 июня 2019

В JavaScript есть отладчик ; , который останавливает выполнение и действует как точка останова. В C # есть метод Debugger.Break () с почти идентичным поведением. Существует ли в PowerShell нечто подобное?

Ответы [ 2 ]

2 голосов
/ 16 июня 2019

Wait-Debugger - это эквивалент PowerShell.

1 голос
/ 16 июня 2019

Итак, я придумал эту простую функцию PowerShell, которая делает эту работу

Function Set-PSBreakPointHere {

  $line = [int] $Myinvocation.ScriptlineNumber + 1 # following line
  $script = $Myinvocation.PSCommandPath

  # set a break point that pauses execution 
  Set-PSBreakpoint -Line $line -Script $script |  Out-Null

  # set a break point that removes the previous break and itself 
  Set-PSBreakpoint -Line $line -Script $script -Action { $breakPOint = Get-PSBreakpoint -Script $script | Where Line -EQ $line | Remove-PSBreakpoint }.GetNewClosure() | Out-Null

}

Эта функция создает две точки останова на строке в сценарии, где она вызывается. Одна из точек останова останавливает выполнение и входит в отладчик (это то, что я хотел), а другая точка прерывания отменяет регистрацию обеих этих точек останова, чтобы поддерживать чистоту.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...