Udostępnij za pośrednictwem


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 cmdlet Enable-PSBreakpoint 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 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 nazwa w skrybacie Sample.ps1 zapisywania obiektu punktu przerwania w zmiennej $B. Parametr PassThru wyświetla wartość właściwości Enabled punktu przerwania jest false.

Enable-PSBreakpoint ponownie włącza punkt przerwania. Ponownie, używając parametru PassThru, widzimy, że wartość właściwości Enabled jest 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 punktu przerwaniaEnable-PSBreakpoint włącza punkty przerwania.

Ten przykład jest odpowiednikiem uruchamiania 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 polecenia Get-PSBreakPoint za pomocą parametru Runspace. Dane wyjściowe Get-PSBreakPoint są przesyłane potokami do Enable-PSBreakpoint w celu 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-PSBreakpoint.

Typ:Breakpoint[]
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Id

Określa identyfikator liczby punktów przerwania do włączenia. Wartość domyślna to wszystkie punkty przerwania. Podaj identyfikator według liczby lub zmiennej. Nie można przekazać identyfikatora liczb do Enable-PSBreakpoint. Aby znaleźć identyfikatora punktu przerwania, użyj polecenia cmdlet Get-PSBreakpoint.

Typ:Int32[]
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-PassThru

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

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych: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.

Typ:Runspace
Aliasy:RunspaceId
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet nie jest uruchamiane.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych: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 Enable-PSBreakpoint:

  • Wszystkie platformy:

    • ebp
  • Polecenie cmdlet Enable-PSBreakpoint 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 polecenia cmdlet Set-PSBreakpoint. Nie musisz włączać nowo utworzonych punktów przerwania.