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 cmdlet Debug-Process 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, który jest obecnie zarejestrowany w procesie. Przed użyciem tego polecenia cmdlet sprawdź, czy debuger został pobrany i poprawnie skonfigurowany.
Przykłady
Przykład 1. Dołączanie debugera do procesu na komputerze
PS C:\> Debug-Process -Name "Windows Powershell"
To polecenie dołącza debuger do procesu programu Windows PowerShell na komputerze.
Przykład 2. Dołączanie debugera do wszystkich procesów rozpoczynających się od określonego ciągu
PS C:\> Debug-Process -Name "SQL*"
To polecenie dołącza debuger do wszystkich procesów, które mają nazwy rozpoczynające się od języka SQL.
Przykład 3. Dołączanie debugera do wielu procesów
PS C:\> Debug-Process "Winlogon", "Explorer", "Outlook"
To polecenie dołącza debuger do procesów Winlogon, Explorer i Outlook.
Przykład 4. Dołączanie debugera do wielu identyfikatorów procesów
PS C:\> 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 Get-Process, aby uzyskać proces, a następnie dołączyć do niego debuger
PS C:\> Get-Process "Windows PowerShell" | Debug-Process
To polecenie dołącza debuger do procesów programu Windows PowerShell na komputerze. Używa on polecenia cmdlet Get-Process w celu pobrania procesów środowiska Windows PowerShell na komputerze i używa operatora potoku (|) do wysyłania procesów do polecenia cmdlet Debug-Process.
Aby określić konkretny proces programu PowerShell, użyj parametru ID Get-Process.
Przykład 6. Dołączanie debugera do bieżącego procesu na komputerze lokalnym
PS C:\> $PID | Debug-Process
To polecenie dołącza debuger do bieżących procesów programu Windows PowerShell na komputerze.
Polecenie używa $PID zmiennej automatycznej, która zawiera identyfikator procesu bieżącego procesu programu Windows PowerShell. Następnie używa operatora potoku (|) do wysłania identyfikatora procesu do polecenia cmdlet Debug-Process.
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
PS C:\> 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 polecenia cmdlet Get-Process w celu pobrania procesów MyApp na komputerach Server01 i Server02. Używa operatora potoku do wysyłania procesów do polecenia cmdlet Debug-Process, które dołącza debugery.
Przykład 8. Dołączanie debugera do procesu używającego parametru InputObject
PS C:\> $P = Get-Process "Windows PowerShell"
PS C:\> Debug-Process -InputObject $P
To polecenie dołącza debuger do procesów programu Windows PowerShell na komputerze lokalnym.
Pierwsze polecenie używa polecenia cmdlet Get-Process w celu pobrania procesów programu Windows PowerShell na komputerze. Zapisuje wynikowy obiekt procesu w zmiennej o nazwie $P.
Drugie polecenie używa parametru InputObject polecenia cmdlet Debug-Process, aby przesłać obiekt 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 identyfikatora
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 polecenie cmdlet Get-Process. 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 Nazwa 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, 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
System.Int32, System.Diagnostics.Process, System.String
Identyfikator procesu (Int32), obiekt procesu (System.Diagnostics.Process) lub nazwa procesu (Ciąg) do tego polecenia cmdlet.
Dane wyjściowe
None
To polecenie cmdlet nie generuje ż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 metoda AttachDebugger w bibliotece MSDN.