JavaScript中有debugger;语句,该语句停止执行并充当断点。在C#中,具有几乎相同行为的 Debugger.Break() 方法。在PowerShell中是否存在类似的东西?
答案 0 :(得分:2)
Wait-Debugger
是等效的PowerShell。
答案 1 :(得分:1)
所以我想出了一个简单的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
}
此函数在调用它的脚本的行上创建两个断点。断点之一停止执行并进入调试器(这是我想要的),另一个断点取消注册这两个断点以保持环境整洁。