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. Присоединение отладчика к процессу на компьютере
Debug-Process -Name Powershell
Эта команда присоединяет отладчик к процессу PowerShell на компьютере.
Пример 2. Присоединение отладчика ко всем процессам, начинающимся с указанной строки
Debug-Process -Name note*
Эта команда подключает отладчик ко всем процессам с именами, начинающимися с note
.
Пример 3. Присоединение отладчика к нескольким процессам
Debug-Process "Winlogon", "Explorer", "Outlook"
Эта команда пытается подключить отладчик к процессам Winlogon, Explorer и Outlook. Winlogon — это защищенный процесс. Чтобы отладить Winlogon, необходимо выполнить команду от имени администратора.
Пример 4. Присоединение отладчика к нескольким идентификаторам процессов
Debug-Process -Id 1132, 2028
Эта команда присоединяет отладчик к процессам с идентификатором 1132 и 2028.
Пример 5. Использование get-Process для получения процесса и подключения отладчика к нему
Get-Process PowerShell | Debug-Process
Эта команда присоединяет отладчик к процессам PowerShell на компьютере. Он использует Get-Process
командлет для получения процессов PowerShell на компьютере и использует оператор конвейера (|
) для отправки процессов командлету Debug-Process
.
Чтобы указать определенный процесс PowerShell, используйте параметр идентификатора Get-Process
.
Пример 6. Присоединение отладчика к текущему процессу на локальном компьютере
Debug-Process -Id $PID
Эта команда присоединяет отладчик к текущим процессам PowerShell на компьютере.
Команда использует автоматическую $PID
переменную, содержащую идентификатор процесса текущего процесса PowerShell. Затем он использует оператор конвейера (|
) для отправки идентификатора процесса командлету Debug-Process
.
Дополнительные сведения об автоматической переменной $PID
см. в about_Automatic_Variables.
Пример 7. Присоединение отладчика к указанному процессу на нескольких компьютерах
Get-Process -ComputerName "Server01", "Server02" -Name "MyApp" | Debug-Process
Эта команда присоединяет отладчик к процессам MyApp на компьютерах Server01 и Server02.
Команда использует Get-Process
командлет для получения процессов MyApp на компьютерах Server01 и Server02. Он использует оператор конвейера для отправки процессов Debug-Process
командлету, который присоединяет отладчики.
Пример 8. Присоединение отладчика к процессу, использующего параметр InputObject
$P = Get-Process PowerShell
Debug-Process -InputObject $P
Эта команда присоединяет отладчик к процессам PowerShell на локальном компьютере.
Первая команда использует Get-Process
командлет для получения процессов PowerShell на компьютере. Он сохраняет полученный объект процесса в переменной с именем $P
.
Вторая команда использует параметр InputObject командлета Debug-Process
для отправки объекта процесса в $P
переменную.
Параметры
-Confirm
Запрос подтверждения перед выполнением командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Id
Указывает идентификаторы процессов, которые необходимо отладить. Имя параметра id является необязательным.
Чтобы найти идентификатор процесса процесса, введите Get-Process
.
Тип: | Int32[] |
Aliases: | PID, ProcessId |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-InputObject
Указывает объекты процессов, которые необходимо отладить. Введите переменную, содержащую объекты процесса или команду, которая получает объекты процесса, например Get-Process
командлет. Вы также можете передать объекты обработки в этот командлет.
Тип: | Process[] |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Name
Указывает имена процессов, которые необходимо отладить. Если существует несколько процессов с одинаковым именем, этот командлет присоединяет отладчик ко всем процессам с таким именем. Параметр Name является необязательным.
Тип: | String[] |
Aliases: | ProcessName |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Идентификатор процесса можно передать в этот командлет.
Объект процесса можно передать в этот командлет.
Имя процесса можно передать в этот командлет.
Выходные данные
None
Этот командлет не возвращает выходные данные.
Примечания
Этот командлет использует метод AttachDebugger класса Win32_Process инструментария управления Windows (WMI). Дополнительные сведения об этом методе см . в разделе "Метод AttachDebugger" в библиотеке MSDN.
Связанные ссылки
PowerShell