当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 使用 Set-PSBreakPoint 对 PowerShell 脚本进行故障排除

作者:精品下载站 日期:2024-12-14 07:36:32 浏览:16 分类:玩电脑

使用 Set-PSBreakPoint 对 PowerShell 脚本进行故障排除


Set-PSBreakPoint cmdlet 在脚本中设置断点。当您对脚本进行故障排除时,了解特定步骤或工作流程中发生的情况可能会很有帮助。在此博客中,我将为您提供概述以及可用来排除和研究脚本问题的基础知识。让我们开始吧。

初始点

本主题的起点是这个简单的 PowerShell 脚本。

for ($i = 100; $i -ge 0; $i -= 3) { Write-Host $i }

简短说明:$i 设置为 100。脚本从 100 倒数 3,直到 $i 大于或等于 0。

[玩转系统] 使用 Set-PSBreakPoint 对 PowerShell 脚本进行故障排除

该脚本以 ps1 文件形式保存在 C:\Temp 中。

调查线路

现在 Set-PSBreakPoint 开始发挥作用。

我们的下一个目标是找出第 2 行中 $i 返回的值。它应该返回 100。让我们使用 Set-PSBreakPoint 和 Line 参数检查一下。

Set-PSBreakpoint -Script 'C:\Temp\for_5.ps1' -Line 2

[玩转系统] 使用 Set-PSBreakPoint 对 PowerShell 脚本进行故障排除

设置断点后,我们需要启动脚本以使断点生效。

'C:\Temp\for_5.ps1'

哇,出现了一个点击……并且 PowerShell ISE 突出显示了点击……多漂亮的屏幕啊!

[玩转系统] 使用 Set-PSBreakPoint 对 PowerShell 脚本进行故障排除

好吧,现在让我们回到我们的主要目标。 $i 的值是多少?是的,是 100。

[玩转系统] 使用 Set-PSBreakPoint 对 PowerShell 脚本进行故障排除

为了在下一部分中从头开始,我通过按 SHIFT + F5 停止调试器,然后删除所有 PSBreakPoint。

Get-PSBreakpoint | Remove-PSBreakpoint

研究变量

现在我们将更进一步。假设我们想知道当 $i 小于 50 时 $i 返回什么。为了做到这一点,我们必须定义 Variable 和 Action 参数。

Set-PSBreakpoint -Script 'C:\Temp\for_5.ps1' -Variable i -Action { if ($i -lt 50) { break } }

[玩转系统] 使用 Set-PSBreakPoint 对 PowerShell 脚本进行故障排除

好的。我必须解释一下。变量参数设置为i,实际上表示$i。 Action 参数包含一个 if 语句。 if 语句设置为 $i -lt(小于)50,并且当满足条件(lt 50)时,break 语句停止脚本的执行。

试一试吧!

'C:\Temp\for_5.ps1'

[玩转系统] 使用 Set-PSBreakPoint 对 PowerShell 脚本进行故障排除

如果满足条件 $i 是 49,而不是 50。为什么?请记住脚本倒计时 3。

顺便说一下,Set-PSBreakpoint 还可以在命令和函数上设置断点。

更多信息请参见:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/set-psbreakpoint?view=powershell-6

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯