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. Procesy można określić według nazwy procesu lub identyfikatora procesu (PID) lub można potokować obiekty przetwarzania 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 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 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

PS C:\> $PID | Debug-Process

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 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 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-ProcessInputObject polecenia cmdlet do przesyłania obiektu procesu w zmiennej$P.

Parametry

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Określa identyfikatory procesów do debugowania. Nazwa parametru Identyfikator jest opcjonalna.

Aby znaleźć identyfikator procesu procesu, wpisz Get-Process.

Type:Int32[]
Aliases:PID, ProcessId
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:Process[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:String[]
Aliases:ProcessName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

System.Int32, System.Diagnostics.Process, System.String

Do tego polecenia cmdlet można przekazać potok identyfikatora procesu (Int32), obiektu procesu (System.Diagnostics.Process) lub nazwy procesu (String).

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 AttachDebugger method in the MSDN library ( Metoda AttachDebugger w bibliotece MSDN).