Udostępnij za pomocą


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.