Powershell 断点执行

2020-05-31 19:22

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

写调试“输出一行调试信息,看看发生了什么?”

您可能会惊讶于该命令没有输出任何信息,并且感觉好像什么也没做。事实上,写调试的行为受$ DebugPreference的影响,它默认为“SilentlyContinue”,此时写调试不会输出任何信息。

$DebugPreference的可选配置如下:

SilentlyContinue:调试已关闭

停止:输出调试信息并终止脚本执行

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

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

可以通过下面的例子来比较:

Powershell 断点执行(图1)

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

这里有一个简短的回顾和总结。

确认首选项:设置问题确认的级别

设置调试信息的显示级别。

错误操作首选项:设置发生错误后要采取的操作

错误视图:设置错误的显示模式

设置进度条的显示模式

ReportErrorShowExceptionClass:显示异常所在的类

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

报告错误显示来源:显示异常的来源

报告错误显示堆栈跟踪:显示异常的错误跟踪堆栈

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

警告参考:设置警告消息的显示模式

单步跟踪:逐行跟踪

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

只需要set-psdebug-step,powershell将只执行一段代码,并询问用户是否继续执行。

联系我们

天津市西青区中北镇云锦世家南门55号
4007181001
30998@qq.com

庆典活动

商务会议

企业年会

展会展览