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

[玩转系统] Debug-Job (Microsoft.PowerShell.Core)

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

Debug-Job (Microsoft.PowerShell.Core)


Debug-Job

模块 :Microsoft.PowerShell.Core

调试正在运行的后台或远程作业。

句法

Debug-Job
     [-Job] <Job>
     [-BreakAll]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Debug-Job
     [-Name] <String>
     [-BreakAll]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Debug-Job
     [-Id] <Int32>
     [-BreakAll]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Debug-Job
     [-InstanceId] <Guid>
     [-BreakAll]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

描述

Debug-Job cmdlet 允许您调试在作业中运行的脚本。该 cmdlet 旨在调试 PowerShell 工作流作业、后台作业以及在远程会话中运行的作业。 Debug-Job 接受正在运行的作业对象、名称、ID 或实例 ID 作为输入,并在其正在运行的脚本上启动调试会话。调试器 quit 命令停止作业和正在运行的脚本。 exit 命令分离调试器,并允许作业继续运行。

示例

示例 1:通过作业 ID 调试作业

此命令会中断 ID 为 3 的正在运行的作业。

Debug-Job -ID 3

Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
3      Job3            RemoteJob       Running       True            PowerShellIx         TestWFDemo1.ps1
          Entering debug mode. Use h or ? for help.

          Hit Line breakpoint on 'C:\TestWFDemo1.ps1:8'

          At C:\TestWFDemo1.ps1:8 char:5
          +     Write-Output -InputObject "Now writing output:"
          +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          [DBG:PowerShellIx]: PS C:\> > list

              3:
              4:  workflow SampleWorkflowTest
              5:  {
              6:      param ($MyOutput)
              7:
              8:*     Write-Output -InputObject "Now writing output:"
              9:      Write-Output -Input $MyOutput
             10:
             11:      Write-Output -InputObject "Get PowerShell process:"
             12:      Get-Process -Name powershell
             13:
             14:      Write-Output -InputObject "Workflow function complete."
             15:  }
             16:
             17:  # Call workflow function
             18:  SampleWorkflowTest -MyOutput "Hello"

参数

-BreakAll

允许您在调试器附加时立即在当前位置中断。

此参数是在 PowerShell 7.2 中添加的。

类型 :

开关参数

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

-Confirm

在运行 cmdlet 之前提示您进行确认。

类型 :

SwitchParameter

别名:

cf

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

-Id

指定正在运行的作业的ID号。要获取作业的 ID 号,请运行 Get-Job cmdlet。

类型 :

整数32

位置:

0

默认值:

None

必需的:

True

接受管道输入:

False

接受通配符:

False

-InstanceId

指定正在运行的作业的实例 ID GUID。

类型 :

指导

位置:

0

默认值:

None

必需的:

True

接受管道输入:

False

接受通配符:

False

-Job

指定正在运行的作业对象。使用此参数的最简单方法是将返回要调试的正在运行的作业的 Get-Job 命令的结果保存在变量中,然后将该变量指定为此参数的值。

类型 :

工作

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-Name

通过作业的友好名称指定作业。启动作业时,您可以通过在 Invoke-CommandStart-Job 等 cmdlet 中添加 JobName 参数来指定作业名称。

类型 :

String

位置:

0

默认值:

None

必需的:

True

接受管道输入:

False

接受通配符:

False

-WhatIf

显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。

类型 :

SwitchParameter

别名:

wi

位置:

命名

默认值:

False

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

System.Management.Automation.RemotingJob

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

取消回复欢迎 发表评论:

关灯