2012-02-02 11 views
16

Lo que me gustaría saber es si es posible, dentro de una sesión de depuración en Linux, (leer: gdb :)) detener la ejecución de un único subproceso, dejando que los otros subprocesos se ejecuten.¿Es posible detener un único hilo durante la depuración en Linux?

Si alguien tiene curiosidad por saber por qué sigue leyendo: Escribí un software watchdog clase C++ (usando Qt). Lo probé con un programa simple multiproceso, pero me gustaría probar el código una vez que lo integre dentro de la aplicación real también. Si pudiera detener un hilo del depurador, eso simplificará esta fase de prueba. :)

Saludos Sergio

+7

** Disculpa ** una búsqueda más precisa en google déjame encontrar este enlace: (http://sourceware.org/gdb/onlinedocs/gdb/Non_002dStop-Mode.html#Non_002dStop-Mode) que parece responder a mi pregunta. Cheers – sergico

+5

está bien publicar una respuesta a su pregunta. Por favor, hazlo. –

+0

posible duplicado de [no detener todos los hilos en gdb] (http://stackoverflow.com/questions/3666331/not-stopping-all-threads-in-gdb) –

Respuesta

3

Utilice esta secuencia de comandos antes de ejecutar o adjuntar a su programa:

  • habilitar la interfaz asíncrona:
    conjunto de objetivos-asíncrono 1

  • Si usa la CLI, la paginación se rompe sin parar:
    establece la paginación desactivada

  • Encenderlo:
    establecer sin parar en

Use estos comandos para manipular la configuración del modo non-stop:

  • permitir la selección de modo de no parar:
    establecer sin escalas en

  • Desactivar la selección del modo sin paradas:
    conjunto no parada

  • Muestra la corriente de dejar de no opción habilitada:
    muestran sin parar

Referencias:
http://sourceware.org/gdb/onlinedocs/gdb/Non_002dStop-Mode.html#Non_002dStop-Mode

0

Usted puede utilizar depurador TotalView para hacer eso

0

Si esa pequeña variación es correcta, podría enviar una señal STOP al hilo (no como un comando gdb el gdb - esa es la variación) y depurar todo lo demás en ejecución. Signal CONT permite que el hilo continúe.

Cuestiones relacionadas