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.