Enable-PSBreakpoint

Włącza punkty przerwania w bieżącej konsoli.

Składnia

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

Opis

Polecenie Enable-PSBreakpoint cmdlet ponownie włącza wyłączone punkty przerwania. Można go użyć do włączenia wszystkich punktów przerwania lub określonych punktów przerwania, udostępniając obiekty punktu przerwania lub identyfikatory.

Punkt przerwania to punkt w skrytecie, w którym wykonywanie zatrzymuje się tymczasowo, aby można było sprawdzić stan skryptu. Nowo utworzone punkty przerwania są automatycznie włączone, ale można je wyłączyć przy użyciu polecenia Disable-PSBreakpoint.

Technicznie to polecenie cmdlet zmienia wartość właściwości Enabled obiektu punktu przerwania na True.

Enable-PSBreakpoint jest jednym z kilku poleceń cmdlet przeznaczonych do debugowania skryptów programu PowerShell. Aby uzyskać więcej informacji na temat debugera programu PowerShell, zobacz about_Debuggers.

Przykłady

Przykład 1. Włączanie wszystkich punktów przerwania

Ten przykład umożliwia włączenie wszystkich punktów przerwania w bieżącej sesji.

Get-PSBreakpoint | Enable-PSBreakpoint

Za pomocą aliasów ten przykład można skrócić jako gbp | ebp.

Przykład 2. Włączanie punktów przerwania według identyfikatora

W tym przykładzie można włączyć wiele punktów przerwania przy użyciu identyfikatorów punktów przerwania.

Enable-PSBreakpoint -Id 0, 1, 5

Przykład 3. Włączanie wyłączonego punktu przerwania

W tym przykładzie ponownie włączono punkt przerwania, który został wyłączony.

$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 Tworzy punkt przerwania w zmiennej Name w skry skryptzie Sample.ps1 zapisując obiekt punktu przerwania w zmiennej $B . Parametr PassThru wyświetla wartość właściwości Enabled punktu przerwania ma wartość False.

Enable-PSBreakpoint ponownie włącza punkt przerwania. Ponownie, używając parametru PassThru, widzimy, że wartość właściwości Enabled ma wartość True.

Przykład 4. Włączanie punktów przerwania przy użyciu zmiennej

W tym przykładzie można włączyć zestaw punktów przerwania przy użyciu obiektów punktu przerwania.

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

Get-PSBreakpoint pobiera punkty przerwania i zapisuje je w zmiennej $B . Przy użyciu parametru Enable-PSBreakpoint punktu przerwania włącza punkty przerwania.

Ten przykład jest odpowiednikiem uruchomionego elementu Enable-PSBreakpoint -Id 3, 5.

Przykład 5. Włączanie punktu przerwania w przestrzeni uruchomieniowej

W tym przykładzie zadanie jest uruchamiane z punktem przerwania, a następnie wyłączone. Przestrzeń uruchomieniowa jest przechowywana w zmiennej i przekazywana do Get-PSBreakPoint polecenia za pomocą parametru Runspace . Dane wyjściowe elementu Get-PSBreakPoint są przesyłane potokami w celu Enable-PSBreakpoint włączenia punktu przerwania w przestrzeni uruchomieniowej.

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

Parametry

-Breakpoint

Określa punkty przerwania, które mają być włączone. Podaj zmienną zawierającą punkty przerwania lub polecenie, które pobiera obiekty punktu przerwania, takie jak Get-PSBreakpoint. Można również potokować obiekty punktu przerwania do Enable-PSBreakpointelementu .

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

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

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

-Id

Określa numery identyfikatorów punktów przerwania, które mają być włączone. Wartość domyślna to wszystkie punkty przerwania. Podaj identyfikator według liczby lub w zmiennej. Nie można przekazać numerów identyfikatorów potoku do Enable-PSBreakpoint. Aby znaleźć identyfikator punktu przerwania, użyj Get-PSBreakpoint polecenia cmdlet .

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

-PassThru

Zwraca obiekt reprezentujący włączony punkt przerwania. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.

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

-Runspace

Określa identyfikator obiektu Runspace , aby można było wchodzić w interakcje z punktami przerwania w określonej przestrzeni uruchomieniowej.

Ten parametr został dodany w programie PowerShell 7.2.

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

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie jest uruchamiane.

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

Dane wejściowe

Breakpoint

Do tego polecenia cmdlet można przekazać obiekt punktu przerwania.

Dane wyjściowe

None

Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.

Breakpoint

Jeśli używasz parametru PassThru , to polecenie cmdlet zwraca obiekt punktu przerwania reprezentujący włączony punkt przerwania.

Uwagi

Program PowerShell zawiera następujące aliasy dla programu Enable-PSBreakpoint:

  • Wszystkie platformy:

    • ebp
  • Polecenie Enable-PSBreakpoint cmdlet nie generuje błędu, jeśli spróbujesz włączyć punkt przerwania, który jest już włączony. W związku z tym można włączyć wszystkie punkty przerwania bez błędów, nawet jeśli tylko kilka z nich jest wyłączonych.

  • Punkty przerwania są włączane podczas ich tworzenia przy użyciu Set-PSBreakpoint polecenia cmdlet . Nie musisz włączać nowo utworzonych punktów przerwania.