Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Метод AttachProcess подключает обработчик отладчика к пользовательскому режиму.
Синтаксис
HRESULT AttachProcess(
[in] ULONG64 Server,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
Параметры
[in] Server
Указывает сервер обработки, используемый для подключения к процессу. Если сервер равен нулю, подсистема подключается к локальному процессу без использования сервера обработки.
[in] ProcessId
Указывает идентификатор процесса целевого процесса, к которому будет присоединен отладчик.
[in] AttachFlags
Указывает флаги, управляющие присоединением отладчика к целевому процессу. Дополнительные сведения об этих флагах см. в примечаниях.
Возвращаемое значение
Этот метод также может возвращать значения ошибок. Дополнительные сведения см. в возвращаемых значений.
| Код возврата | Описание |
|---|---|
|
Метод выполнен успешно. |
Замечания
Этот метод доступен только для динамической отладки в режиме пользователя.
Битовые флаги DEBUG_ATTACH_XXXX управляют подключением обработчика отладчика к процессу пользовательского режима. Параметры DEBUG_ATTACH_XXXX , используемые при присоединении к целевому объекту ядра, см. в разделе 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 (include Dbgeng.h) |