如下说明是翻译
: help Set-PSDebug
产生的帮助信息
.
译者
: Edengundam(
马涛
)
Set-PSDebug
大纲
控制脚本调试模式的启动与停止
,
设置跟踪级别
,
进入严格
(strict)
模式
.
语法
Set-PSDebug [-trace <int>] [-step] [-strict] [<CommonParameters>]
Set-PSDebug [-off] [<CommonParameters>]
详细描述
控制脚本调试模式的启动与停止
,
设置跟踪级别
,
进入严格
(strict)
模式
.
此
cmdlet
允许你控制
Windows PowerShell
解释器的调试选项
.
当参数
Trace
设置为
1
时
,
只有脚本被执行的行被跟踪
.(
译者注
:
这里的脚本包括在命令行的输入
. )
当参数设置为
2
时
,
变量赋值
,
函数和脚本调用也将会被跟踪
.
如果指定了参数
Step,
用户将会在执行脚本每一行之前
,
看到和参数
Confirm
一样的选项菜单
.
在单步模式中
,
选项菜单不同选项的响应行为如下所述
:
·
"Yes"
执行当前行
·
"Yes to All"
退出单步模式
(
脚本将会继续执行而不再提示任何信息
)
·
"No"
和
"No To All"
退出脚本
·
"Suspend"
启动一个嵌套
shell,
当从前套
shell
退出将会重新显示选项菜单
.
参数
-trace <int>
指定跟踪级别
:
·
0 -
关闭脚本跟踪
·
1 -
对执行的脚本行进行跟踪
·
2 -
对执行的脚本行
,
变量赋值
,
函数和脚本调用进行跟踪
.
强制参数
?
|
False
|
参数位置
?
|
Named
|
默认值
|
1
|
允许从管道绑定输入
?
|
False
|
允许通配符扩展
?
|
False
|
-step <SwitchParameter>
打开脚本单步模式
.
在每行运行之前
,
用户被提示
,
以允许停止
,
继续或进入新的解释器环境检查脚本的运行状态操作
.
指定
Step
时
,
将会把参数
Trace
设置为
1.
强制参数
?
|
False
|
参数位置
?
|
Named
|
默认值
|
False
|
允许从管道绑定输入
?
|
False
|
允许通配符扩展
?
|
False
|
-off <SwitchParameter>
关闭所有脚本调试机制
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
False
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
-strict <SwitchParameter>
指示如果变量在赋值前没有赋值
,
解释器抛出异常
.
强制参数
?
|
false
|
参数位置
?
|
named
|
默认值
|
False
|
允许从管道绑定输入
?
|
false
|
允许通配符扩展
?
|
false
|
<
公共参数
>
此命令支持公共参数
: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable.
更多信息
,
输入
, "get-help about_commonparameters".
注意
更多信息
,
输入
"Get-Help Set-PsDebug -detailed".
需要技术信息
,
输入
"Get-Help Set-PsDebug -full".
如果需要为该命令提供多个参数
,
请使用逗号进行分隔
.
例如
, "<parameter-name> <value1>, <value2>".
例
1
C:/PS>set-psdebug -trace 2; foreach ($i in 1..3) {$i}
此命令将跟踪级别设置为
2,
然后执行脚本显示数字
1, 2
和
3.
DEBUG:1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
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}
2
DEBUG:1+ Set-PsDebug -trace 2; foreach ($i in 1..3) {$i}
3
例
2
C:/PS>set-psdebug -step; foreach ($i in 1..3) {$i}
此命令打开单步模式
,
然后执行脚本显示数字
1, 2
和
3.
DEBUG:1+ 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
C:/PS>set-psdebug -off; foreach ($i in 1..3) {$i}
此命令关闭所有调试信息
, ,
然后执行脚本显示数字
1, 2
和
3.
1
2
3
例
4
C:/PS>set-psdebug -strict; $NewVar
此命令指示解释器进入严格模式
,
然后试图访问未赋值变量
.
变量
$NewVar
由于没有赋值因此无法访问
.
At line:1 char:28
+ Set-PsDebug -strict;$NewVar <<<<
相关链接
Write-Debug