Powershell脚本中使用条件断点实例(powershell图形化界面)学会了吗

随心笔谈9个月前发布 admin
207 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

本文介绍了PowerShell 3.0及以上版本中两种断点功能:行断点和条件断点。行断点允许脚本运行至特定行并可被添加或移除,但需脚本已保存。条件断点则更高级,可通过指定条件触发断点,例如当变量赋值超过100时停止。文章通过示例展示了如何设置条件断点,并强调了其在调试复杂脚本中的便利性。



适用于PowerShell 3.0或者更高版本!

PowerShell ISE只支持行断点:它可以让脚本运行至特定的调试行:你可以按F9来添加或者移除断点。但是需要保证该脚本已经保存过(默认的无标题文件可能就不行)。

还有一种更加高级的方法:动态断点或者说是条件断点,其中没有特别限定某行,而是限定于一种特定的场景。比如下面的的示例脚本,每当PowerShell给指定的变量赋值时,就会击中断点停下来:

复制代码 代码如下:

$bp=Set-PSBreakpoint -Variable a -Mode Write -Script $psise.CurrentFile.FullPath

$a=1

$a

$a

$a=200

$a

Remove-PSBreakpoint -Breakpoint $bp

你还可以绑定更加高级和复杂的条件,比如你想当一个大于100的整数赋值给$a时,击中断点:

复制代码 代码如下:

$Condition={ if ($a -is [Int] -and $a -gt 100) { break }  }

$bp=Set-PSBreakpoint -Variable a -Mode Write -Script $psise.CurrentFile.FullPath -Action $Condition

$a=1

$a

$a

$a=200

$a

Remove-PSBreakpoint -Breakpoint $bp

荔非苔注:条件断点这个技巧比较冷门,但是一旦需要时却非常方便,比如我在某个稍微大点的脚本文件中多次给变量A赋值,可是不知某次赋了个错误的值,我想把这行代码找出来。如果没有条件断点,我可能得关键字搜索出所有变量A的赋值语句,并打上断点,工程浩大,而如果使用条件断点,阿弥陀佛!

© 版权声明

相关文章