Powershell 断点执行

2025-06-02 18:28:28

在脚本和函数中使用断点停止脚本执行,方便调试Powershell脚本的异常和错误。如果逻辑不是很复杂,直接输出一些帮助信息,也可以实现调试的目的。最简单的使用调试输出命令,如果你在控制台输入:

Write-Debug “输出一行调试信息,看看发生了神马?”

你可能会很奇怪,命令没有输出任何信息,感觉好像没做什么。事实上,Write-debug 的行为受$DebugPreference的影响,$DebugPreference值默认为”SilentlyContinue”,此时Write-debug不会输出任何信息。

$DebugPreference可选的配置如下:

SilentlyContinue:调试关闭

Stop:输出调试信息,终止脚本执行

Continue:输出调试信息,继续执行脚本

Inquire:输出调试信息,询问用户是否继续执行。

可以通过下面的例子对比:

Powershell 断点执行

除了自动化变量 $DebugPreference能配置调试信息输出的方式和行为,还有一些自动化变量可以实现类似的目的。

这里稍作回顾和总结。

ConfirmPreference:设置提问确认的级别

DebugPreference:设置debug信息的显示级别

ErrorActionPreference:设置发生错误后的执行动作

ErrorView:设置错误的显示模式

ProgressPreference:设置进度条的显示模式

ReportErrorShowExceptionClass:显示异常所在的类

ReportErrorShowInnerException:显示异常内部异常信息

ReportErrorShowSource:显示异常的来源

ReportErrorShowStackTrace:显示异常的错误跟踪栈

VerbosePreference:设置详细信息的显示模式

WarningPreference:设置警告信息的显示模式

单步跟踪:逐行执行

我们可以在 Powershell ISE 中通过F9断点执行Powershell脚本。但是即使没有ISE也可以单步跟踪。

只需要Set-PSDebug -step,Powershell会每只行一段代码,就会向用户询问是否继续执行。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢