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
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.
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.