2010-09-08 12 views
5

GDB normalmente detiene todos los hilos si se alcanza un punto de interrupción (o se presionan Ctrl + C en el shell GDB). Soy consciente de que existen comandos como scheduler-locking y schedule-multiple, pero no veo la posibilidad de permitir que un hilo definido se ejecute en el fondo mientras que otro se depura.sin detener todos los hilos en gdb

Respuesta

9

Puede usar set target-async on para habilitar el modo asíncrono, si su destino lo admite. Luego, puede especificar la ejecución de fondo con comandos. Por ejemplo,

continue& 

se puede utilizar para ejecutar un solo hilo, y

interrupt [-a] 

para suspender la ejecución de un solo hilo, o todo el programa.

En conjunción con el modo sin parar, se puede examinar un solo hilo, mientras que otros siguen ejecutándose en segundo plano:

# If using the CLI, pagination breaks non-stop. 
set pagination off 

# Finally, turn it on! 
set non-stop on 
# Before debugging is started! 
+0

ajusta perfectamente a la pregunta. Gracias. – azraiyl

Cuestiones relacionadas