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


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. Вам не нужно включать только что созданные точки останова.