Поделиться через


Debug-Process

Выполняет отладку одного или нескольких процессов, запущенных на локальном компьютере.

Синтаксис

Debug-Process
     [-Name] <String[]>
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Debug-Process
     [-Id] <Int32[]>
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Debug-Process
     -InputObject <Process[]>
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

Описание

Командлет Debug-Process подключает отладчик к одному или нескольким запущенным процессам на локальном компьютере. Можно указать процессы по имени процесса или идентификатору процесса (PID) или передать объекты обработки в этот командлет.

Этот командлет подключает отладчик, зарегистрированный в данный момент для процесса. Перед использованием этого командлета убедитесь, что отладчик загружен и правильно настроен.

Примеры

Пример 1. Присоединение отладчика к процессу на компьютере

PS C:\> Debug-Process -Name "Windows Powershell"

Эта команда присоединяет отладчик к процессу PowerShell на компьютере.

Пример 2. Присоединение отладчика ко всем процессам, начинающимся с указанной строки

PS C:\> Debug-Process -Name "SQL*"

Эта команда подключает отладчик ко всем процессам, имена которых начинаются с SQL.

Пример 3. Присоединение отладчика к нескольким процессам

PS C:\> Debug-Process "Winlogon", "Explorer", "Outlook"

Эта команда присоединяет отладчик к процессам Winlogon, Explorer и Outlook.

Пример 4. Присоединение отладчика к нескольким идентификаторам процессов

PS C:\> Debug-Process -Id 1132, 2028

Эта команда присоединяет отладчик к процессам с идентификатором 1132 и 2028.

Пример 5. Использование Get-Process, чтобы получить процесс, а затем подключить к нему отладчик

PS C:\> Get-Process "Windows PowerShell" | Debug-Process

Эта команда присоединяет отладчик к процессам PowerShell на компьютере. Для получения процессов PowerShell на компьютере используется Get-Process командлет , а для отправки процессов в командлет используется оператор конвейера Debug-Process (|).

Чтобы указать конкретный процесс PowerShell, используйте параметр ID .Get-Process

Пример 6. Присоединение отладчика к текущему процессу на локальном компьютере

PS C:\> $PID | Debug-Process

Эта команда присоединяет отладчик к текущим процессам PowerShell на компьютере.

Команда использует автоматическую $PID переменную, которая содержит идентификатор текущего процесса PowerShell. Затем он использует оператор конвейера (|) для отправки идентификатора процесса командлету Debug-Process .

Дополнительные сведения об автоматической переменной см. в $PID разделе about_Automatic_Variables.

Пример 7. Присоединение отладчика к процессу, использующего параметр InputObject

PS C:\> $P = Get-Process "Windows PowerShell"
PS C:\> Debug-Process -InputObject $P

Эта команда присоединяет отладчик к процессам PowerShell на локальном компьютере.

Первая команда использует командлет для Get-Process получения процессов PowerShell на компьютере. Он сохраняет результирующий объект процесса в переменной с именем $P.

Вторая команда использует параметр InputObject командлета Debug-Process для отправки объекта процесса в переменную $P .

Параметры

-Confirm

Запрос подтверждения перед выполнением командлета.

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

-Id

Указывает идентификаторы процессов, которые необходимо отладить. Имя параметра Id является необязательным.

Чтобы найти идентификатор процесса, введите Get-Process.

Type:Int32[]
Aliases:PID, ProcessId
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InputObject

Указывает объекты процессов, которые необходимо отладить. Введите переменную, содержащую объекты процесса, или команду, которая получает объекты процесса, например Get-Process командлет . Вы также можете передать объекты обработки в этот командлет.

Type:Process[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Указывает имена процессов, которые необходимо отладить. Если имеется несколько процессов с одинаковыми именами, этот командлет присоединяет отладчик ко всем процессам с таким именем. Параметр Name является необязательным.

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

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

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

Входные данные

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

В этот командлет можно передать идентификатор процесса (Int32), объект процесса (System.Diagnostics.Process) или имя процесса (String).

Выходные данные

None

Этот командлет не формирует никаких выходных данных.

Примечания

Этот командлет использует метод AttachDebugger класса Win32_Process инструментария управления Windows (WMI). Дополнительные сведения об этом методе см. в статье Метод AttachDebugger в библиотеке MSDN.