Powershell腳本中使用條件斷點實例
適用于PowerShell 3.0或者更高版本!
PowerShell ISE只支持行斷點:它可以讓腳本運行至特定的調(diào)試行:你可以按F9來添加或者移除斷點。但是需要保證該腳本已經(jīng)保存過(默認的無標題文件可能就不行)。
還有一種更加高級的方法:動態(tài)斷點或者說是條件斷點,其中沒有特別限定某行,而是限定于一種特定的場景。比如下面的的示例腳本,每當PowerShell給指定的變量賦值時,就會擊中斷點停下來:
$bp = Set-PSBreakpoint -Variable a -Mode Write -Script $psise.CurrentFile.FullPath
$a = 1
$a
$a
$a = 200
$a
Remove-PSBreakpoint -Breakpoint $bp
你還可以綁定更加高級和復雜的條件,比如你想當一個大于100的整數(shù)賦值給$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賦值,可是不知某次賦了個錯誤的值,我想把這行代碼找出來。如果沒有條件斷點,我可能得關(guān)鍵字搜索出所有變量A的賦值語句,并打上斷點,工程浩大,而如果使用條件斷點,阿彌陀佛!
相關(guān)文章
PowerShell捕獲錯誤的2種方法(異常捕獲命令、錯誤變量)
這篇文章主要介紹了PowerShell捕獲錯誤的2種方法(異常捕獲命令、錯誤變量),需要的朋友可以參考下2014-04-04PowerShell中改變F1幫助文檔命令獲取方式為在線文檔的方法
這篇文章主要介紹了PowerShell中改變F1幫助文檔命令獲取方式為在線文檔的方法,本文使用一個自定義函數(shù)實現(xiàn)需求,需要的朋友可以參考下2015-03-03powershell 將文本轉(zhuǎn)換成表格的另一種可行方式
這篇文章主要介紹了powershell 將文本轉(zhuǎn)換成表格的另一種可行方式,需要的朋友可以參考下2014-08-08