gc (Ir desde punto de interrupción condicional)
El comando gc reanuda la ejecución desde un punto de interrupción condicional de la misma manera que se usó para alcanzar el punto de interrupción (ejecución paso a paso, seguimiento o ejecución libre). Esto solo se aplica al estilo anterior de los puntos de interrupción condicionales mediante "j (Condición) ..." expresión de estilo, en lugar del punto de interrupción condicional de estilo "/w" más sencillo. Para obtener más información, consulte Establecimiento de un punto de interrupción condicional.
gc
Aunque este comando ya no es tan útil para los puntos de interrupción condicionales, todavía se puede usar para los puntos de interrupción que realizan el registro o alguna otra actividad sin interrumpir el depurador. Por ejemplo, se podría escribir un punto de interrupción similar al siguiente:
bp module!myFunction ".echo myFunction executed; gc"
Si en su lugar se usó un comando "g" normal, el programa continuaría la ejecución al pasar por alto "myFunction", en lugar de simplemente imprimir el mensaje y continuar con la operación de paso.
Entorno
Elemento | Descripción |
---|---|
Modos | modo de usuario, modo kernel |
Targets | Solo depuración dinámica |
Plataformas | todo |
Información adicional
Para obtener información general sobre los comandos relacionados, consulte Control del destino.
Comentarios
Cuando un punto de interrupción condicional usa "j (Condición) ..." expression incluye un comando de ejecución al final, que debe ser el comando gc .
Por ejemplo, lo siguiente es un punto de interrupción condicional de ejemplo:
0:000> bp Address "j (Condition) 'OptionalCommands'; 'gc' "
Cuando se encuentra este punto de interrupción y la expresión es false, la ejecución se reanudará con el mismo tipo de ejecución que se usó anteriormente. Por ejemplo, si usó un comando g (Go) para alcanzar este punto de interrupción, la ejecución se reanudaría libremente. Pero si alcanzó este punto de interrupción durante la ejecución paso a paso o seguimiento, la ejecución se reanudaría con un paso o un seguimiento.
Por otro lado, lo siguiente es una formulación de punto de interrupción incorrecta, ya que la ejecución siempre se reanudará libremente, incluso si hubiera estado avanzando antes de alcanzar el punto de interrupción:
0:000> bp Address "j (Condition) 'OptionalCommands'; 'g' "