欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Powershell脚本中使用条件断点实例

程序员文章站 2022-06-24 10:58:50
适用于powershell 3.0或者更高版本! powershell ise只支持行断点:它可以让脚本运行至特定的调试行:你可以按f9来添加或者移除断点。但是需要保证该...

适用于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的赋值语句,并打上断点,工程浩大,而如果使用条件断点,阿弥陀佛!