Compartilhar via


.attach (anexar ao processo)

O comando .attach é anexado a um novo aplicativo de destino.

.attach [-premote RemoteOptions] AttachOptions PID

Parâmetros

Opções remotas
Especifica um servidor de processo ao qual anexar. As opções são as mesmas da linha de comando -premote opção. Consulte Ativando um Smart Client para obter detalhes de sintaxe.

Opções de Anexação
Especifica como a anexação deve ser feita. Isso pode incluir qualquer uma das seguintes opções:

-b
Impede que o depurador solicite uma interrupção inicial ao anexar a um processo de destino. Isso pode ser útil se o aplicativo já estiver suspenso ou se você quiser evitar a criação de um thread de interrupção no destino.

-e
Permite que o depurador seja anexado a um processo que já está sendo depurado. Consulte Reanexando ao aplicativo de destino para obter detalhes.

-k
Inicia uma sessão de depuração de kernel local. Consulte Executando a depuração do kernel local para obter detalhes.

-f
Congela todos os threads em todos os aplicativos de destino, exceto no novo destino ao qual está sendo anexado. Esses threads permanecerão congelados até que ocorra uma exceção no processo recém-anexado. Observe que um ponto de interrupção inicial se qualifica como uma exceção. Threads individuais podem ser descongelados usando o comando ~u (Unfreeze Thread).

-r

Faz com que o depurador inicie o processo de destino em execução quando ele é anexado a ele. Isso pode ser útil se o aplicativo já estiver suspenso e você quiser que ele retome a execução.

-v
Faz com que o processo especificado seja depurado de forma não invasiva.

PID
Especifica a ID do processo do novo aplicativo de destino.

Ambiente

Item Descrição
Modos somente modo de usuário
Destinos somente depuração ao vivo
Plataformas all

Comentários

Esse comando pode ser usado quando o CDB está inativo ou se já estiver depurando um ou mais processos. Ele não pode ser usado quando o WinDbg está inativo.

Se esse comando for bem-sucedido, o depurador será anexado ao processo especificado na próxima vez que o depurador emitir um comando de execução. Se esse comando for usado várias vezes seguidas, a execução terá que ser solicitada quantas vezes esse comando for usado.

Como a execução não é permitida durante a depuração não invasiva, o depurador não é capaz de depurar de forma não invasiva mais de um processo por vez. Isso também significa que o uso do comando .attach -v pode tornar menos útil uma sessão de depuração invasiva já existente.

Vários processos de destino sempre serão executados juntos, a menos que alguns de seus threads estejam congelados ou suspensos.

Se você deseja anexar a um novo processo e congelar todos os seus destinos existentes, use a opção -f . Por exemplo, você pode estar depurando uma falha em um aplicativo cliente e deseja anexar ao processo do servidor sem permitir que o aplicativo cliente continue em execução.

Se a opção -premote for usada, o novo processo fará parte de um novo sistema. Para obter detalhes, consulte Depurando vários destinos.