.attach (Anexar ao processo)
O comando .attach é anexado a um novo aplicativo de destino.
.attach [-premote RemoteOptions] AttachOptions PID
Parâmetros
RemoteOptions
Especifica um servidor de processo ao qual anexar. As opções são as mesmas da opção de linha de comando -premote . Consulte Ativando um cliente inteligente para obter detalhes da sintaxe.
Attachoptions
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. Confira Anexar novamente ao Aplicativo de Destino para obter detalhes.
-k
Inicia uma sessão de depuração de kernel local. Consulte Executando a depuração de kernel local para obter detalhes.
-F
Congela todos os threads em todos os aplicativos de destino, exceto no novo destino que 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 (Descongelar 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 dinâmica |
Plataformas | all |
Comentários
Esse comando pode ser usado quando o CDB está inativo ou se já está depurando um ou mais processos. Ele não pode ser usado quando 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 em uma linha, a execução precisará ser solicitada quantas vezes esse comando tiver sido 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 uma sessão de depuração invasiva já existente menos útil.
Vários processos de destino sempre serão executados juntos, a menos que alguns de seus threads estejam congelados ou suspensos.
Se você quiser anexar a um novo processo e congelar todos os destinos existentes, use a opção -f . Por exemplo, você pode estar depurando uma falha em um aplicativo cliente e desejar 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.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de