私はPowershellをかなり使い慣れていて、非常に大きなスクリプト、つまり他の関数にネストされた関数を持つ他のスクリプトを呼び出すスクリプトを書いています。このスクリプトを起動すると、どこから来たのかわからないエラーが表示されることがあります。このスクリプトがどこで終了したかを確認する簡単な方法はありますか?私はエラーのトラブルシューティングをすることができますか?スクリプトの流れをトレースする方法
答えて
あなたは出力にPowerShellを取得するためにSet-PsDebug
を使用することができ、ほぼすべての行は、それが実行されます。
Set-PSDebug -Trace 1;
唯一の欠点は、あなたはおそらく通じ苦労する大量の出力になってしまいますが...
通常、エラーには呼び出し元のスクリプトが含まれます。
Windows PowerShell ISEのスクリプトをデバッグモードで実行できないことがあります。これにより、ブレークポイントとステップスルーコードを使用することができます。デバッグのためのISEを使用して上の
Artile:あなたのエラーのが私から来ている場所を確認するには、デバッグ用
がよろしく Arcass
をISEとのかは、Powerguiとデバッグを示唆しています。
Start-Transcript
コマンドレットを使用してスクリプトのトランスクリプトを取得し、すべてのコンソールアクティビティをファイルに書き込むこともできます。したがって、Write-Host "Doing XYZ"
などの文を置くことができ、それらは転写ログに表示されます。
あなたがトライキャッチで例外をキャッチするか、このような例外の行番号と列を書くことができますトラップを使用する場合:
$ErrorActionPreference = 'Stop'
trap {
Write-Host "Error on line $($_.InvocationInfo.ScriptLineNumber)"
exit 1
}
try {
Get-Item DoesntExist
} catch {
Write-Host ("Error occurred on line: " + $_.InvocationInfo.ScriptLineNumber)
}
$_.InvocationInfo
はエラーがから来ていたに関するその他の詳細を持っています。
$ErrorActionPreference = "Stop"
を設定すると、trap{}
ブロックがトリガーされることが保証されます。この場合、スクリプトが取得した行を書き出して終了します。
を追加しましたこれは、 'try {} catch {}'をあまりにも多くのステートメントの周りに置かなくても、エラーの一般的なトラブルシューティングを可能にするので、 'trap {}'の処理についてです。 –
- 1. Androidコードの流れの流れをトレースするツールはありますか?
- 2. 下流のマイクロサービスのトレースを続行
- 3. プログラムをトレースする方法
- 4. CMakeLists.txtをトレースする方法
- 5. JSPをトレースする方法
- 6. tkinterのトレース方法
- 7. ファイアウォールのリダイレクトをトレースする方法は?
- 8. tkinterトレース方法エラー
- 9. マクロとトレース方法
- 10. PHPスクリプトがデータベースに書き込めない理由をトレースする方法は?
- 11. ハンドルリークをトレースする方法は?
- 12. 変数をトレースする方法は?
- 13. ScriptService WebServiceリクエストをトレースする方法は?
- 14. 外部キーをトレースする方法は?
- 15. dynamoDBトランザクションをトレースする方法
- 16. .netでトレースを実装する方法
- 17. ソケットプログラミングをデバッグ/トレースする方法
- 18. SFMLソケットサーバーpingをトレースする方法は?
- 19. 展開されたASP.Netアプリケーションのエラーをトレースする方法は?
- 20. HashMapがスローするトレース方法ConcurrentModificationException
- 21. Adobe Illustratorのjsスクリプトでのトレース
- 22. 流星のアプリケーションをアップグレードする方法
- 23. のCs-スクリプト&System.Diagnostics.Debug:オーバーライドデバッグ出力トレース
- 24. 流星方法
- 25. NodeJSでのアプリケーションの流れを制御する方法
- 26. ページ上のすべてのJavaScriptイベントをトレースする方法(モバイルブラウザ)
- 27. アドレスへのregモデルオフセットのトレース方法
- 28. C++では、cinの流れを制御する方法
- 29. 私の流星の方法を単体テストする方法は?
- 30. 気流:SubDagOperatorを拡張する方法?
これはまさに私が探していたものです。しかし、適切にデバッグする方法を考える上で大きな利点があるので、後でその点を検討します。 –