.attach (присоединение к процессу)

Команда .attach подключается к новому целевому приложению.

.attach [-premote RemoteOptions] AttachOptions PID

Параметры

RemoteOptions
Указывает сервер обработки для подключения. Параметры совпадают с параметрами командной строки -premote . Дополнительные сведения о синтаксисе см. в разделе Активация интеллектуального клиента .

AttachOptions
Указывает способ присоединения. Это может быть любой из следующих вариантов:

-B
Запрещает отладчику запрашивать начальную приостановку при присоединении к целевому процессу. Это может быть полезно, если приложение уже приостановлено или вы хотите избежать создания потока останова в целевом объекте.

-E
Позволяет отладчику подключаться к процессу, который уже выполняет отладку. Дополнительные сведения см. в разделе Повторное присоединение к целевому приложению .

-K
Начинает сеанс отладки локального ядра. Дополнительные сведения см. в разделе Выполнение отладки локального ядра .

-F
Замораживает все потоки во всех целевых приложениях, за исключением нового целевого объекта, к которому выполняется подключение. Эти потоки будут оставаться замороженными до тех пор, пока во вновь присоединенном процессе не возникнет исключение. Обратите внимание, что начальная точка останова квалифицируется как исключение. Отдельные потоки можно разморозить с помощью команды ~u (разморозить поток).

-R

Заставляет отладчик запускать целевой процесс, запущенный при подключении к нему. Это может быть полезно, если приложение уже приостановлено и вы хотите, чтобы оно возобновило выполнение.

-V
Приводит к тому, что указанный процесс будет отлаживаться неинвазивно.

PID
Указывает идентификатор процесса нового целевого приложения.

Среда

Элемент Описание
Режимы Только пользовательский режим
Цели Только динамическая отладка
Платформы все

Комментарии

Эту команду можно использовать, когда CDB неактивна или если она уже выполняет отладку одного или нескольких процессов. Его нельзя использовать, если WinDbg неактивен.

Если эта команда выполнена успешно, отладчик подключится к указанному процессу в следующий раз, когда отладчик выполнит команду выполнения. Если эта команда используется несколько раз подряд, выполнение потребуется запрашивать столько раз, сколько использовалась эта команда.

Так как выполнение во время неинвазивной отладки запрещено, отладчик не может выполнять неинвазивную отладку нескольких процессов одновременно. Это также означает, что использование команды .attach -v может сделать уже существующий инвазивный сеанс отладки менее полезным.

Несколько целевых процессов всегда будут выполняться вместе, если некоторые из их потоков не заморожены или приостановлены.

Если вы хотите присоединиться к новому процессу и заморозить все существующие целевые объекты, используйте параметр -f . Например, вы можете отлаживать сбой в клиентском приложении и хотите подключиться к процессу сервера, не позволяя клиентскому приложению продолжать работу.

Если используется параметр -premote , новый процесс будет частью новой системы. Дополнительные сведения см. в разделе Отладка нескольких целевых объектов.