Powershellスクリプトで条件付きブレークポイントを使用する例
2022-02-05 20:47:08
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
例えば、$aに100以上の整数が代入されたらブレークポイントを押すなど、より高度で複雑な条件も縛ることができます。
コピーコード
コードは以下の通りです。
$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に何度も値を代入しているが、1回だけ間違った値を代入していないかどうかわからない、その行を探したいという場合。条件付きブレークポイントがなければ、変数Aの代入文をすべてキーワード検索してブレークポイントをヒットさせなければならないかもしれず、それは大変な作業ですが、条件付きブレークポイントがあれば、アミターバ!
関連
-
Android携帯のwifiプロキシを自動設定するPowerShellスクリプト
-
powershellでSQL SERVERの全バージョンを弄る方法
-
Powershellスクリプトに電子署名を行う方法
-
特定のWebページに関する情報を取得するPowershellコード
-
What-ifのためのPowershellエラー処理
-
スクリプトの記述と実行のためのPowershellの実装
-
PowerShellを使用して、現在のホストメモリ使用量と合計を取得する方法
-
サーバーの接続状態を監視するためのPowershellの実装
-
Powershellで "確認プロンプト "をブロックする方法
-
Powershellでオブジェクトのデータ構造を展開し、JSON形式で出力する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PowerShellリモートタスクの実行手順
-
PowerShell チュートリアル curl (Invoke-WebRequest) の使用方法について
-
PowerShell 5.0の新機能が公開されました。
-
PowerShell 3.0 Hyper-V 3.0 の管理
-
Powershellスクリプトの4種類の実行権限についてご紹介します。
-
PowerShellのエスケープ文字とは何ですか?
-
PowerShellでスペース、ドット、マイナス、改行を削除するコード例
-
Powershellですべてのディスクレターを取得する方法
-
Powershell ISE 抽象構文木 プログラミング例
-
タイプ別ソートのPowershell実装