Отлаживает один или несколько процессов, выполняющихся на локальном компьютере.
Синтаксис
Debug-Process [-Name] <string[]> [-Confirm] [-WhatIf] [<CommonParameters>] Debug-Process [-Id] <Int32[]> [-Confirm] [-WhatIf] [<CommonParameters>] Debug-Process -InputObject <Process[]> [-Confirm] [-WhatIf] [<CommonParameters>]
Описание
Командлет Debug-Process присоединяет отладчик к одному или нескольким процессам, выполняющимся на локальном компьютере. Процессы можно задать, указав их имена или идентификаторы (PID) либо передав объекты процессов по конвейеру командлету Debug-Process.
Командлет Debug-Process присоединяет отладчик, который в данный момент зарегистрирован для процесса. Перед использованием этого командлета проверьте, что отладчик загружен и правильно настроен.
Параметры
-Id <Int32[]>
Задает идентификаторы отлаживаемых процессов. Имя параметра ("-Id") указывать необязательно.
Чтобы определить идентификатор процесса, введите команду "Get-Process".
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
нет |
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-InputObject <Process[]>
Задает объекты процессов, которые представляют отлаживаемые процессы. Введите переменную, содержащую объекты процессов, либо команду, получающую объекты процессов, например Get-Process. Кроме того, можно передать объекты процессов командлету Debug-Process по конвейеру.
Обязательно? |
true |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByValue) |
Принимать подстановочные знаки? |
false |
-Name <string[]>
Задает имена отлаживаемых процессов. Если заданному имени соответствует несколько процессов, Debug-Process присоединяет отладчик ко всем процессам с этим именем. Имя параметра ("Name") указывать необязательно.
Обязательно? |
true |
Позиция? |
1 |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
true (ByPropertyName) |
Принимать подстановочные знаки? |
false |
-Confirm
Запрашивает подтверждение перед выполнением команды.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
-WhatIf
Описывает, что произойдет при выполнении команды, без ее фактического выполнения.
Обязательно? |
false |
Позиция? |
named |
Значение по умолчанию |
|
Принимать входные данные из конвейера? |
false |
Принимать подстановочные знаки? |
false |
<CommonParameters>
Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.
Ввод и вывод
Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.
Входные данные |
System.Int32, System.Diagnostics.Process, System.String Идентификатор процесса (Int32), объект процесса (System.Diagnostics.Process) или имя процесса (String) можно передать командлету Debug-Process по конвейеру. |
Выходные данные |
Нет Этот командлет не формирует никаких выходных данных. |
Примечания
Этот командлет использует метод AttachDebugger класса Win32_Process инструментария управления Windows (WMI). Дополнительные сведения об этом методе см. в разделе "Метод AttachDebugger" библиотеки MSDN (Microsoft Developer Network) по адресу (на английском языке).
Пример 1
C:\PS>debug-process -name powershell Описание ----------- Эта команда присоединяет отладчик к процессу PowerShell, выполняющемуся на данном компьютере.
Пример 2
C:\PS>debug-process -name sql* Описание ----------- Эта команда присоединяет отладчик ко всем процессам, имена которых начинаются с комбинации символов "sql".
Пример 3
C:\PS>debug-process winlogon, explorer, outlook Описание ----------- Эта команда присоединяет отладчик к процессам Winlogon, Explorer и Outlook.
Пример 4
C:\PS>debug-process -id 1132, 2028 Описание ----------- Эта команда присоединяет отладчик к процессам с идентификаторами 1132 и 2028.
Пример 5
C:\PS>get-process powershell | debug-process Описание ----------- Эта команда присоединяет отладчик к процессам PowerShell на данном компьютере. Для получения процессов PowerShell на данном компьютере используется командлет Get-Process, а для передачи этих процессов командлету Debug-Process используется оператор конвейера (|). Чтобы указать конкретный процесс PowerShell, используйте параметр ID командлета Get-Process.
Пример 6
C:\PS>$pid | debug-process Описание ----------- Эта команда присоединяет отладчик к текущим процессам PowerShell на данном компьютере. В этой команде используется автоматическая переменная $pid, в которой содержится идентификатор текущего процесса PowerShell. Идентификатор процесса передается командлету Debug-Process с помощью оператора конвейера (|). Дополнительные сведения об автоматической переменной $pid см. в разделе about_Automatic_Variables.
Пример 7
C:\PS>get-process -computername Server01, Server02 -name MyApp | debug-process Описание ----------- Эта команда присоединяет отладчик к процессам MyApp, выполняющимся на компьютерах Server01 и Server02. Для получения процессов MyApp, выполняющихся на компьютерах Server01 и Server02, используется командлет Get-Process. Для передачи процессов командлету Debug-Process, который присоединяет отладчики, используется оператор конвейера (|).
Пример 8
C:\PS>$p = get-process powershell C:\PS> debug-process -inputobject $p Описание ----------- Эта команда присоединяет отладчик к процессам PowerShell на локальном компьютере. Первая команда получает процессы PowerShell на локальном компьютере с помощью командлета Get-Process. Результирующий объект процесса сохраняется в переменной $p. Вторая команда с помощью параметра InputObject командлета Debug-Process передает хранящийся в переменной $p объект процесса командлету Debug-Process.
См. также