Debug-Process
Debuguje co najmniej jeden proces uruchomiony na komputerze lokalnym.
Składnia
Debug-Process
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Process
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Process
-InputObject <Process[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Polecenie Debug-Process
cmdlet dołącza debuger do co najmniej jednego uruchomionego procesu na komputerze lokalnym.
Można określić procesy według ich nazwy procesu lub identyfikatora procesu (PID) lub można potokować obiekty procesów do tego polecenia cmdlet.
To polecenie cmdlet dołącza debuger zarejestrowany w procesie. Przed użyciem tego polecenia cmdlet sprawdź, czy debuger jest zainstalowany i skonfigurowany.
Przykłady
Przykład 1. Dołączanie debugera do procesu na komputerze
Debug-Process -Name Powershell
To polecenie dołącza debuger do procesu programu PowerShell na komputerze.
Przykład 2. Dołączanie debugera do wszystkich procesów rozpoczynających się od określonego ciągu
Debug-Process -Name note*
To polecenie dołącza debuger do wszystkich procesów, które mają nazwy rozpoczynające się od note
.
Przykład 3. Dołączanie debugera do wielu procesów
Debug-Process "Winlogon", "Explorer", "Outlook"
To polecenie próbuje dołączyć debuger do procesów Winlogon, Explorer i Outlook. Winlogon jest procesem chronionym. Aby debugować winlogon, musisz uruchomić polecenie jako administrator.
Przykład 4. Dołączanie debugera do wielu identyfikatorów procesów
Debug-Process -Id 1132, 2028
To polecenie dołącza debuger do procesów, które mają identyfikatory procesów 1132 i 2028.
Przykład 5. Użyj polecenia Get-Process, aby pobrać proces, a następnie dołączyć do niego debuger
Get-Process PowerShell | Debug-Process
To polecenie dołącza debuger do procesów programu PowerShell na komputerze. Używa Get-Process
polecenia cmdlet do pobierania procesów programu PowerShell na komputerze i używa operatora potoku (|
) do wysyłania procesów do Debug-Process
polecenia cmdlet.
Aby określić określony proces programu PowerShell, użyj parametru ID polecenia Get-Process
.
Przykład 6. Dołączanie debugera do bieżącego procesu na komputerze lokalnym
Debug-Process -Id $PID
To polecenie dołącza debuger do bieżących procesów programu PowerShell na komputerze.
Polecenie używa zmiennej automatycznej $PID
, która zawiera identyfikator procesu bieżącego procesu programu PowerShell. Następnie używa operatora potoku (|
), aby wysłać identyfikator procesu do Debug-Process
polecenia cmdlet.
Aby uzyskać więcej informacji na temat zmiennej automatycznej $PID
, zobacz about_Automatic_Variables.
Przykład 7. Dołączanie debugera do określonego procesu na wielu komputerach
Get-Process -ComputerName "Server01", "Server02" -Name "MyApp" | Debug-Process
To polecenie dołącza debuger do procesów MyApp na komputerach Server01 i Server02.
Polecenie używa Get-Process
polecenia cmdlet do pobierania procesów MyApp na komputerach Server01 i Server02. Używa operatora potoku do wysyłania procesów do Debug-Process
polecenia cmdlet, które dołącza debugery.
Przykład 8. Dołączanie debugera do procesu używającego parametru InputObject
$P = Get-Process PowerShell
Debug-Process -InputObject $P
To polecenie dołącza debuger do procesów programu PowerShell na komputerze lokalnym.
Pierwsze polecenie używa Get-Process
polecenia cmdlet do pobrania procesów programu PowerShell na komputerze. Zapisuje wynikowy obiekt procesu w zmiennej o nazwie $P
.
Drugie polecenie używa parametru Debug-Process
InputObject polecenia cmdlet do przesłania obiektu procesu w zmiennej$P
.
Parametry
-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 identyfikatory procesów do debugowania. Nazwa parametru Id jest opcjonalna.
Aby znaleźć identyfikator procesu procesu, wpisz Get-Process
.
Typ: | Int32[] |
Aliasy: | PID, ProcessId |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-InputObject
Określa obiekty procesu reprezentujące procesy do debugowania. Wprowadź zmienną zawierającą obiekty procesu lub polecenie, które pobiera obiekty procesu, takie jak Get-Process
polecenie cmdlet. Można również potokować obiekty przetwarzania do tego polecenia cmdlet.
Typ: | Process[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Name
Określa nazwy procesów do debugowania. Jeśli istnieje więcej niż jeden proces o tej samej nazwie, to polecenie cmdlet dołącza debuger do wszystkich procesów o tej nazwie. Parametr Name jest opcjonalny.
Typ: | String[] |
Aliasy: | ProcessName |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.
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
Możesz przekazać identyfikator procesu do tego polecenia cmdlet.
Do tego polecenia cmdlet można przekazać obiekt procesu.
Możesz przekazać nazwę procesu do tego polecenia cmdlet.
Dane wyjściowe
None
To polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Uwagi
To polecenie cmdlet używa metody AttachDebugger klasy Win32_Process instrumentacji zarządzania Windows (WMI). Aby uzyskać więcej informacji na temat tej metody, zobacz AttachDebugger method (Metoda AttachDebugger) w bibliotece MSDN.