Depuração não invasiva (modo de usuário)
Se um aplicativo de modo de usuário já estiver em execução, o depurador poderá depurá-lo de forma não invasiva. Com a depuração não invasiva, você não tem tantas ações de depuração. No entanto, você pode minimizar a interferência do depurador com o aplicativo de destino. A depuração não invasiva será útil se o aplicativo de destino tiver parado de responder.
Na depuração não invasiva, o depurador não é realmente anexado ao aplicativo de destino. O depurador suspende todos os threads do destino e tem acesso à memória, aos registros e a outras informações do destino. No entanto, o depurador não pode controlar o destino, portanto, comandos como g (Go) não funcionam.
Se você tentar executar comandos que não são permitidos durante a depuração não invasiva, receberá uma mensagem de erro informando: "O depurador não está anexado, portanto, a execução do processo não pode ser monitorada".
Selecionando o processo a ser depurado
Você pode especificar o aplicativo de destino pela ID do processo (PID) ou pelo nome do processo.
Se você especificar o aplicativo por nome, deverá usar o nome completo do processo, incluindo a extensão de nome de arquivo. Se dois processos tiverem o mesmo nome, você deverá usar a ID do processo.
Para obter mais informações sobre como determinar a ID do processo e o nome do processo, consulte Localizando a ID do processo.
Para obter informações sobre como iniciar e parar uma sessão de depuração não invasiva, consulte os seguintes tópicos:
Linha de comando do CDB
Para depurar de forma não invasiva um processo em execução na linha de comando do CDB, especifique a opção -pv, a opção -p e a ID do processo na sintaxe a seguir.
cdb -pv -pProcessID
Ou, para depurar de forma não invasiva um processo em execução especificando o nome do processo, use a sintaxe a seguir.
cdb -pv -pnProcessName
Há várias outras opções de linha de comando úteis. Para obter mais informações sobre a sintaxe de linha de comando, consulte Opções de Command-Line cdb.
Linha de comando do WinDbg
Para depurar de forma não invasiva um processo em execução na linha de comando do WinDbg, especifique a opção -pv, a opção -p e a ID do processo, na sintaxe a seguir.
windbg -pv -pProcessID
Ou, para depurar de forma não invasiva um processo em execução especificando o nome do processo, use a sintaxe a seguir.
windbg -pv -pnProcessName
Há várias outras opções de linha de comando úteis. Para obter mais informações sobre a sintaxe de linha de comando, consulte Opções de Command-Line do WinDbg.
WinDbg Menu
Quando o WinDbg está no modo inativo, você não pode depurar um processo em execução clicando em Anexar a um Processo no menu Arquivo ou pressionando F6.
Quando a caixa de diálogo Anexar ao Processo for exibida, selecione a caixa marcar Não invasiva. Em seguida, selecione a linha que contém a ID do processo e o nome desejados. (Você também pode inserir a ID do processo na caixa ID do processo.) Por fim, clique em OK.
Janela Comando do Depurador
Se o depurador já estiver ativo, você poderá depurar de forma não invasiva um processo em execução usando o comando .attach -v (Anexar ao Processo) na janela Comando do Depurador.
Você poderá usar o comando .attach se o depurador já estiver depurando um ou mais processos invasivamente. Você pode usar esse comando no CDB se ele estiver inativo, mas não em um WinDbg inativo.
Se o comando .attach -v for bem-sucedido, o depurador depura o processo especificado na próxima vez que o depurador emitir um comando de execução. Como a execução não é permitida durante a depuração não invasiva, o depurador não pode depurar de forma não invasiva mais de um processo por vez. Essa restrição também significa que o uso do comando .attach -v pode tornar uma sessão de depuração invasiva existente menos útil.
Iniciando a sessão de depuração
Para obter mais informações sobre como iniciar uma sessão de depuração, consulte Operação do depurador.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários