Метод IDebugClient::AttachProcess (dbgeng.h)
Метод AttachProcess подключает подсистему отладчика к пользовательскому режимуprocess.
Синтаксис
HRESULT AttachProcess(
[in] ULONG64 Server,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
Параметры
[in] Server
Указывает сервер обработки, используемый для присоединения к процессу. Если сервер равен нулю, подсистема будет подключаться к локальному процессу без использования сервера обработки.
[in] ProcessId
Указывает идентификатор целевого процесса, к который будет присоединен отладчик.
[in] AttachFlags
Указывает флаги, управляющие способом присоединения отладчика к целевому процессу. Дополнительные сведения об этих флагах см. в разделе Примечания.
Возвращаемое значение
Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в разделе Возвращаемые значения .
Код возврата | Описание |
---|---|
|
Метод выполнен успешно. |
Комментарии
Этот метод доступен только для динамической отладки в пользовательском режиме.
Битовые флаги DEBUG_ATTACH_XXXX управляют подключением подсистемы отладчика к процессу в пользовательском режиме. Параметры DEBUG_ATTACH_XXX, используемые при подключении к целевому объекту ядра, см. в разделе AttachKernel.
В следующей таблице описаны возможные значения флагов.
Константа | Описание |
---|---|
DEBUG_ATTACH_NONINVASIVE |
Прикрепите к целевому объекту неинвазивно. Дополнительные сведения о неинвазивной отладке см. в разделе Неинвазивная отладка (пользовательский режим).
Если этот флаг установлен, то флаги DEBUG_ATTACH_EXISTING, DEBUG_ATTACH_INVASIVE_NO_INITIAL_BREAK и DEBUG_ATTACH_INVASIVE_RESUME_PROCESS не должны быть установлены. |
DEBUG_ATTACH_EXISTING |
Повторное присоединение к приложению, к которому отладчик уже подключен (и, возможно, прерван). Дополнительные сведения о повторном присоединении к целевым объектам см. в разделе Повторное присоединение к целевому приложению.
Если этот флаг установлен, другие флаги DEBUG_ATTACH_XXX не должны быть заданы. |
DEBUG_ATTACH_NONINVASIVE_NO_SUSPEND |
Не приостанавливайте потоки целевого объекта при неинвазивном подключении.
Если этот флаг установлен, необходимо также задать DEBUG_ATTACH_NONINVASIVE флага. |
DEBUG_ATTACH_INVASIVE_NO_INITIAL_BREAK |
(Windows XP и более поздние версии) Не запрашивайте начальное включение при присоединении к целевому объекту.
Если этот флаг установлен, то флаги DEBUG_ATTACH_NONINVASIVE и DEBUG_ATTACH_EXISTING не должны быть установлены. |
DEBUG_ATTACH_INVASIVE_RESUME_PROCESS | Если этот флаг установлен, то флаги DEBUG_ATTACH_NONINVASIVE и DEBUG_ATTACH_EXISTING не должны быть установлены. |
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | dbgeng.h (включая Dbgeng.h) |