Compartilhar via


gn, gN (Ir com exceção não tratada)

Os comandos gn e gN continuam a execução do thread fornecido sem marcar a exceção como tendo sido tratada. Isso permite que o manipulador de exceção do aplicativo manipule a exceção.

Sintaxe User-Mode

[~Thread] gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 
[~Thread] gN[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

Sintaxe Kernel-Mode

gn[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 
gN[a] [= StartAddress] [BreakAddress ... [; BreakCommands]] 

Parâmetros

Thread
(Somente modo de usuário) Especifica o thread a ser executado. Esse thread deve ter sido interrompido por uma exceção. Para obter detalhes de sintaxe, consulte Sintaxe de thread.

Um
Faz com que qualquer ponto de interrupção criado por esse comando seja um ponto de interrupção do processador (como aqueles criados por ba) em vez de um ponto de interrupção de software (como aqueles criados por bp e bm). Se BreakAddress não for especificado, nenhum ponto de interrupção será criado e o sinalizador não terá efeito.

Startaddress
Especifica o endereço em que a execução deve começar. Se isso não for especificado, o depurador passará a execução para o endereço em que a exceção ocorreu. Para obter mais detalhes de sintaxe, consulte Sintaxe de intervalo de endereços e endereços.

BreakAddress
Especifica o endereço de um ponto de interrupção. Se BreakAddress for especificado, ele deverá especificar um endereço de instrução (ou seja, o endereço deve conter o primeiro byte de uma instrução). Até dez endereços de interrupção, em qualquer ordem, podem ser especificados ao mesmo tempo. Se BreakAddress não puder ser resolvido, ele será armazenado como um ponto de interrupção não resolvido. Para obter mais detalhes de sintaxe, consulte Sintaxe de intervalo de endereços e endereços.

BreakCommands
Especifica um ou mais comandos a serem executados automaticamente quando o ponto de interrupção especificado por BreakAddress for atingido. O parâmetro BreakCommands deve ser precedido por um ponto e vírgula. Se vários valores BreakAddress forem especificados, BreakCommands se aplicará a todos eles.

Nota O parâmetro BreakCommands só estará disponível quando você estiver inserindo esse comando em uma cadeia de caracteres de comando usada por outro comando , por exemplo, dentro de outro comando de ponto de interrupção ou dentro de uma configuração de exceto ou evento. Em uma linha de comando, o ponto e vírgula encerrará o comando e todos os comandos adicionais listados após o ponto e vírgula serão executados imediatamente após a conclusão do comando gn ou gN .

Ambiente

Item Descrição
Modos modo de usuário, modo kernel
Destinos somente depuração dinâmica
Plataformas all

Informações adicionais

Para outros métodos de emissão desse comando e uma visão geral dos comandos relacionados, consulte Controlando o destino.

Comentários

Se o depurador não for interrompido em um ponto de interrupção, gn e gN se comportarão de forma idêntica. Se o depurador for interrompido em um ponto de interrupção, o gn não funcionará; você deve colocar em maiúscula o "N" para executar este comando. Essa é uma precaução de segurança, pois raramente é sábio continuar um ponto de interrupção sem tratamento.

Se você usar o parâmetro BreakAddress para definir um ponto de interrupção, esse novo ponto de interrupção só será disparado pelo thread atual. Outros threads que executam o código nesse local não serão interrompidos.

Se Thread for especificado, o comando gn será executado com o thread especificado descongelado e todos os outros congelados. Por exemplo, se o comando ~123gn, ~#gn ou ~*gn for especificado, os threads especificados serão descongelados e todos os outros serão congelados.