Поделиться через


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

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

.attach [-premote RemoteOptions] AttachOptions PID

Параметры

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

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

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

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

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

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

-r

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

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

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

Среда

Позиция Description
Режимы только в пользовательском режиме
Целевые объекты только динамическая отладка
Платформы all

Замечания

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

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

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

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

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

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