Метод IDebugClient5::AttachProcess (dbgeng.h)
Метод AttachProcess подключает обработчик отладчика к пользовательскому обработчику.
Синтаксис
HRESULT AttachProcess(
[in] ULONG64 Server,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
Параметры
[in] Server
Указывает сервер обработки, используемый для присоединения к процессу. Если значение 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_XXXX не должны быть установлены. |
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) |