gc (ir do ponto de interrupção condicional)
O comando gc retoma a execução de um ponto de interrupção condicional da mesma forma que foi usado para atingir o ponto de interrupção (pisando, rastreando ou executando livremente). Isso só se aplica ao estilo mais antigo de pontos de interrupção condicionais usando um "j (Condição) ..." expressão de estilo, em vez do ponto de interrupção condicional de estilo "/w" mais simples. Para obter mais informações, consulte configurando um ponto de interrupção condicional.
gc
Embora esse comando não seja mais tão útil para pontos de interrupção condicionais, ele ainda pode ser usado para pontos de interrupção que fazem log ou alguma outra atividade sem invadir o depurador. Por exemplo, um ponto de interrupção pode ser escrito com esta aparência:
bp module!myFunction ".echo myFunction executed; gc"
Se um comando "g" normal fosse usado, o programa continuaria a execução ao percorrer "myFunction", em vez de simplesmente imprimir a mensagem e continuar a operação de etapa.
Ambiente
Item | Descrição |
---|---|
Modos | modo de usuário, modo kernel |
Destinos | somente depuração dinâmica |
Plataformas | all |
Informações adicionais
Para obter uma visão geral dos comandos relacionados, consulte Controlando o destino.
Comentários
Quando um ponto de interrupção condicional usando um "j (Condição) ..." expressão inclui um comando de execução no final, esse deve ser o comando gc .
Por exemplo, o seguinte é um exemplo de ponto de interrupção condicional:
0:000> bp Address "j (Condition) 'OptionalCommands'; 'gc' "
Quando esse ponto de interrupção for encontrado e a expressão for false, a execução será retomada usando o mesmo tipo de execução usado anteriormente. Por exemplo, se você usou um comando g (Go) para chegar a esse ponto de interrupção, a execução seria retomada livremente. Porém, se você atingisse esse ponto de interrupção ao pisar ou rastrear, a execução seria retomada com uma etapa ou um rastreamento.
Por outro lado, o seguinte é uma formulação inadequada de ponto de interrupção, já que a execução sempre será retomada livremente mesmo se você estivesse pisando antes de chegar ao ponto de interrupção:
0:000> bp Address "j (Condition) 'OptionalCommands'; 'g' "