Debug-Process
Debuguje co najmniej jeden proces uruchomiony na komputerze lokalnym.
Składnia
Name (Domyślna)
Debug-Process
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Id
Debug-Process
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InputObject
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 zarejestrowany dla procesu. 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 Get-Process, aby uzyskać 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 on polecenia cmdlet Get-Process w celu pobrania procesów programu PowerShell na komputerze i używa operatora potoku (|) do wysyłania procesów do polecenia cmdlet Debug-Process.
Aby określić określony proces programu PowerShell, użyj parametru identyfikatoraGet-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 automatycznej zmiennej $PID, która zawiera identyfikator (ID) bieżącego procesu PowerShell. Następnie używa operatora potoku (|), aby wysłać identyfikator 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 procesu korzystającego z 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 cmdletu Get-Process do uzyskania procesów PowerShell na komputerze. Zapisuje wynikowy obiekt procesu w zmiennej o nazwie $P.
Drugie polecenie używa parametru InputObject polecenia cmdlet Debug-Process w celu przesłania obiektu procesu w zmiennej $P.
Parametry
-Confirm
Prosi o potwierdzenie przed uruchomieniem cmdletu.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | por |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Id
Określa identyfikatory procesów do debugowania. Nazwa parametru identyfikatora jest opcjonalna.
Aby znaleźć identyfikator procesu procesu, wpisz Get-Process.
Właściwości parametru
| Typ: | Int32[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | identyfikator PID, Identyfikator procesu |
Zestawy parametrów
Id
| Position: | 0 |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | 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ż przekazywać obiekty procesów do tego polecenia cmdlet.
Właściwości parametru
| Typ: | Process[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
InputObject
| Position: | Named |
| Obowiązkowy: | True |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | 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.
Właściwości parametru
| Typ: | String[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Nazwa procesu |
Zestawy parametrów
Name
| Position: | 0 |
| Obowiązkowy: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | Wi |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowy: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
Int32
Możesz przekazać identyfikator procesu do tego polecenia cmdlet.
Process
Do tego polecenia cmdlet można przekazać obiekt procesu.
String
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 metoda w usłudze Microsoft Learn.