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

[玩转系统] 设置 PSDebug (Microsoft.PowerShell.Core)

作者:精品下载站 日期:2024-12-14 02:14:21 浏览:14 分类:玩电脑

设置 PSDebug (Microsoft.PowerShell.Core)


设置 PSDebug

模块 :Microsoft.PowerShell.Core

打开和关闭脚本调试功能、设置跟踪级别以及切换严格模式。

句法

Set-PSDebug
   [-Trace <Int32>]
   [-Step]
   [-Strict]
   [<CommonParameters>]
Set-PSDebug
   [-Off]
   [<CommonParameters>]

描述

Set-PSDebug cmdlet 可打开和关闭脚本调试功能、设置跟踪级别以及切换严格模式。默认情况下,PowerShell 调试功能处于关闭状态。

Trace 参数的值为 1 时,脚本的每一行都会在运行时被跟踪。当参数值为 2 时,还会跟踪变量赋值、函数调用和脚本调用。如果指定了 Step 参数,则在运行脚本的每一行之前都会提示您。

示例

示例 1:设置跟踪级别

此示例将跟踪级别设置为 2,然后运行显示数字 1、2 和 3 的脚本。

Set-PSDebug -Trace 2; foreach ($i in 1..3) {$i}

DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in  >>>> 1..3) {$i}
DEBUG:     ! SET $foreach = 'IEnumerator'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $i = '1'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in 1..3) { >>>> $i}
1
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $i = '2'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in 1..3) { >>>> $i}
2
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $i = '3'.
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ($i in 1..3) { >>>> $i}
3
DEBUG:    1+ Set-PSDebug -Trace 2; foreach ( >>>> $i in 1..3) {$i}
DEBUG:     ! SET $foreach = ''.

示例2:开启步进

此示例打开步进,然后运行显示数字 1、2 和 3 的脚本。

Set-PSDebug -Step; foreach ($i in 1..3) {$i}

Continue with this operation?
   1+ Set-PSDebug -Step; foreach ($i in  >>>> 1..3) {$i}
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): A
DEBUG:    1+ Set-PSDebug -Step; foreach ($i in  >>>> 1..3) {$i}
1
2
3

示例 3:使用严格模式

此示例将 PowerShell 置于严格模式并尝试访问未分配值的变量。

Set-PSDebug -Strict; $NewVar

The variable '$NewVar' cannot be retrieved because it has not been set.
At line:1 char:22
+ Set-PSDebug -Strict; $NewVar

示例 4:关闭调试功能

此示例关闭所有调试功能,然后运行显示数字 1、2 和 3 的脚本。

Set-PSDebug -Off; foreach ($i in 1..3) {$i}

1
2
3

参数

-Off

关闭所有脚本调试功能。

类型 :

SwitchParameter

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Step

打开脚本步进。在每行运行之前,PowerShell 都会提示您停止、继续或输入新的解释器级别以检查脚本的状态。

指定 Step 参数会自动将跟踪级别设置为 1

类型 :

SwitchParameter

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Strict

指定在脚本中引用变量之前必须先为其赋值。如果在分配值之前引用变量,PowerShell 将返回异常错误。这相当于Set-StrictMode -Version 1。有关详细信息,请参阅Set-StrictMode。

类型 :

SwitchParameter

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Trace

指定脚本中每一行的跟踪级别。每条线路在运行时都会被跟踪。

该参数可接受的值如下:

  • 0:关闭脚本跟踪。
  • 1:跟踪运行时的脚本行。
  • 2:跟踪脚本行、变量赋值、函数调用和脚本。
类型 :

整数32

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

您无法通过管道将对象传递到此 cmdlet。

输出

此 cmdlet 不返回任何输出。

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

取消回复欢迎 发表评论:

关灯