PowerShell 动态创建断点


PowerShell 3.0 ISE中内置一个简单的断点调试功能。用户可以通过按F9来添加一个断点。但是它只能在脚本文件已经保存时才能有效。PowerShell 中还有一个动态调试机制,须要用到下面的5条命令。

  • Disable-PSBreakpoint
  • Enable-PSBreakpoint
  • Get-PSBreakpoint
  • Remove-PSBreakpoint
  • Set-PSBreakpoint

先来假定一种应用场景,     有一个脚本多处用到了一条可能会出错的命令,你只想针对这条命令进行断点调试,下面的示例可以做到这点。

Get-PSBreakpoint | Remove-PSBreakpoint
Set-PSBreakpoint -Command Write-Host -Action {
    Write-host "New Error Hit. index=$index" -ForegroundColor Red
}

$array="www","pstips","net"
[int]$index=0;
Write-Host $array[$index]

$index++
Write-Host $array[$index]

$index++
Write-Host $array[$index]

甚至可以进行更高级的调试,监控某个变量,在该变量满足特定条件时,停止脚本执行。

Set-PSBreakpoint -Variable cpu -Mode Write -Script ($psise.CurrentFile.FullPath) -Action { 
if ($cpu -eq $null) {
break
}}

原文链接:Creating Dynamic Breakpoints

本文链接: https://www.pstips.net/creating-dynamic-breakpoints.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注