Поделиться через


Enable-PSBreakpoint

Включает точки останова в текущей консоли.

Синтаксис

Enable-PSBreakpoint
      [-PassThru]
      [-Breakpoint] <Breakpoint[]>
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Enable-PSBreakpoint
      [-PassThru]
      [-Id] <Int32[]>
      [-Runspace <Runspace>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Описание

Командлет Enable-PSBreakpoint повторно включает отключенные точки останова. Его можно использовать для включения всех точек останова или определенных точек останова путем предоставления объектов или идентификаторов точек останова.

Точка останова — это точка в скрипте, где выполнение временно останавливается, чтобы можно было проверить состояние скрипта. Вновь созданные точки останова включаются автоматически, но их можно отключить с помощью Disable-PSBreakpoint.

Технически этот командлет изменяет значение свойства Enabled объекта точки останова на True.

Enable-PSBreakpoint — это один из нескольких командлетов, предназначенных для отладки скриптов PowerShell. Дополнительные сведения об отладчике PowerShell см. в разделе about_Debuggers.

Примеры

Пример 1. Включение всех точек останова

Этот пример включает все точки останова в текущем сеансе.

Get-PSBreakpoint | Enable-PSBreakpoint

Используя псевдонимы, этот пример можно сократить как gbp | ebp.

Пример 2. Включение точек останова по идентификатору

В этом примере включается несколько точек останова, используя их идентификаторы точек останова.

Enable-PSBreakpoint -Id 0, 1, 5

Пример 3. Включение отключенной точки останова

В этом примере повторно включается точка останова, которая была отключена.

$B = Set-PSBreakpoint -Script "sample.ps1" -Variable Name -PassThru
$B | Enable-PSBreakpoint -PassThru

AccessMode : Write
Variable   : Name
Action     :
Enabled    : False
HitCount   : 0
Id         : 0
Script     : C:\ps-test\sample.ps1
ScriptName : C:\ps-test\sample.ps1

AccessMode : Write
Variable   : Name
Action     :
Enabled    : True
HitCount   : 0
Id         : 0
Script     : C:\ps-test\sample.ps1
ScriptName : C:\ps-test\sample.ps1

Set-PSBreakpoint создает точку останова для переменной Name в скрипте Sample.ps1 , сохраняя объект точки останова в переменной $B . Параметр PassThru отображает значение свойства Enabled точки останова равно False.

Enable-PSBreakpoint повторно включает точку останова. Опять же, используя параметр PassThru , мы видим, что свойство Enabled имеет значение True.

Пример 4. Включение точек останова с помощью переменной

В этом примере включается набор точек останова с помощью объектов точки останова.

$B = Get-PSBreakpoint -Id 3, 5
Enable-PSBreakpoint -Breakpoint $B

Get-PSBreakpoint получает точки останова и сохраняет их в переменной $B . Использование параметра Enable-PSBreakpointТочка останова включает точки останова.

Этот пример эквивалентен выполнению Enable-PSBreakpoint -Id 3, 5.

Пример 5. Включение точки останова в пространстве выполнения

В этом примере задание запускается с заданной точкой останова, а затем отключается. Пространство выполнения хранится в переменной и передается команде Get-PSBreakPoint с параметром Runspace. Выходные данные Get-PSBreakPoint передаются Enable-PSBreakpoint в , чтобы включить точку останова в пространстве выполнения.

Start-Job -ScriptBlock {
    $bp = Set-PSBreakpoint -Command Start-Sleep
    Disable-PSBreakpoint $bp
    Start-Sleep -Seconds 10
}

$runspace = Get-Runspace -Id 1

Get-PSBreakPoint -Runspace $runspace | Enable-Breakpoint -Runspace $runspace

Параметры

-Breakpoint

Задает точки останова для включения. Укажите переменную, содержащую точки останова, или команду, которая получает объекты точки останова, например Get-PSBreakpoint. Объекты точки останова также можно передать в Enable-PSBreakpoint.

Type:Breakpoint[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Запрос подтверждения перед выполнением командлета.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Задает идентификаторы точек останова, которые необходимо включить. Значение по умолчанию — все точки останова. Укажите идентификатор по числу или в переменной. Вы не можете передать идентификаторы в Enable-PSBreakpoint. Чтобы найти идентификатор точки останова, используйте Get-PSBreakpoint командлет .

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Возвращает объект , представляющий включенную точку останова. По умолчанию этот командлет не создает никаких выходных данных.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Runspace

Задает идентификатор объекта Runspace , чтобы можно было взаимодействовать с точками останова в указанном пространстве выполнения.

Этот параметр был добавлен в PowerShell 7.2.

Type:Runspace
Aliases:RunspaceId
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

Breakpoint

В этот командлет можно передать объект точки останова.

Выходные данные

None

По умолчанию этот командлет не возвращает выходные данные.

Breakpoint

При использовании параметра PassThru этот командлет возвращает объект точки останова, представляющий включенную точку останова.

Примечания

PowerShell включает следующие псевдонимы для Enable-PSBreakpoint:

  • Для всех платформ.

    • ebp
  • Командлет Enable-PSBreakpoint не создает ошибку, если вы пытаетесь включить уже включенную точку останова. Таким образом, можно включить все точки останова, не опасаясь ошибок, даже если только некоторые из них отключены.

  • Точки останова включаются при их создании с помощью командлета Set-PSBreakpoint . Вам не нужно включать только что созданные точки останова.