gh (Ir com Exceção Manipulada)
O comando gh marca a exceção do thread fornecido como tendo sido tratada e permite que o thread reinicie a execução na instrução que causou a exceção.
Sintaxe do modo de usuário
[~Thread] gh[a] [= StartAddress] [BreakAddress ... [; BreakCommands]]
Sintaxe do modo kernel
gh[a] [= StartAddress] [BreakAddress ... [; BreakCommands]]
Parâmetros
Fio
(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 a não terá efeito.
Endereço inicial
Especifica o endereço no qual 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 saber mais detalhes sobre sintaxe, consulte Endereço e sintaxe de intervalo de endereços.
Endereço de interrupção
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 saber mais detalhes sobre sintaxe, consulte Endereço e sintaxe de intervalo de endereços.
Comandos de interrupção
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.
Observação O parâmetro BreakCommands só está disponível quando você está inserindo esse comando em uma cadeia de caracteres de comando usada por outro comando – por exemplo, em outro comando de ponto de interrupção ou em uma configuração de exceção ou evento. Em uma linha de comando, o ponto-e-vírgula encerrará o comando gh e todos os comandos adicionais listados após o ponto-e-vírgula serão executados imediatamente após a conclusão do comando gh .
Ambiente
Item | Descrição |
---|---|
Modos | modo de usuário, modo kernel |
Destinos | somente depuração ao vivo |
Plataformas | all |
Informações Adicionais
Para obter outros métodos de emissão desse comando e uma visão geral dos comandos relacionados, consulte Controlando o Destino.
Comentários
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 gh será executado com o thread especificado descongelado e todos os outros congelados. Por exemplo, se o comando ~123gh, ~#gh ou ~*gh for especificado, os threads especificados serão descongelados e todos os outros serão congelados.