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


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останова также можно передать в .

Тип:Breakpoint[]
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Confirm

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

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Id

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

Тип:Int32[]
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-PassThru

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

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Runspace

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

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

Тип:Runspace
Aliases:RunspaceId
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-WhatIf

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

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

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

Breakpoint

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

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

None

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

Breakpoint

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

Примечания

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

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

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

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