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 на компьютере. Он использует Get-Process командлет для получения процессов PowerShell на компьютере и использует оператор конвейера (|) для отправки процессов командлету Debug-Process .

Чтобы указать определенный процесс PowerShell, используйте параметр идентификатора 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

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

Int32

Идентификатор процесса можно передать в этот командлет.

Process

Объект процесса можно передать в этот командлет.

String

Имя процесса можно передать в этот командлет.

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

None

Этот командлет не возвращает выходные данные.

Примечания

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