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. Присоединение отладчика к процессу, использующего параметр 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
Задает идентификаторы процессов для отладки процессов. Имя параметра идентификатора является необязательным.
Чтобы найти идентификатор процесса процесса, введите 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
Указывает имена отлаживаемых процессов. Если существует несколько процессов с одинаковым именем, этот командлет присоединяет отладчик ко всем процессам с таким именем. Параметр имени является необязательным.
Тип: | 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 в Microsoft Learn.
Связанные ссылки
PowerShell