utilizar semaforos pthread procesos libreria hilos ejemplos compilar c++ qt gdb parallel-processing

c++ - semaforos - ¿Es posible detener un solo hilo durante la depuración en Linux?



procesos e hilos en linux (3)

Lo que me gustaría saber es si es posible, dentro de una sesión de depuración en Linux, (lea: gdb :)) detener la ejecución de un solo hilo, dejando que los otros subprocesos se ejecuten.

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

Saludos Sergio


Puedes usar el depurador totalview para hacer eso


Si esa pequeña variación está bien, puede enviar al subproceso una señal de DETENER (no como un comando gdb al gdb, que es la variación) y depurar todo lo demás en ejecución. La señal CONT permite que el hilo continúe.


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

  • Habilitar la interfaz asíncrona:
    establecer target-async 1

  • Si usa el CLI, la paginación se rompe sin parar:
    establecer la paginación

  • Encenderlo:
    poner sin parar en

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

  • Habilitar la selección del modo non-stop:
    poner sin parar en

  • Desactivar la selección del modo non-stop:
    establecer sin parar

  • Muestra la configuración actual sin interrupciones habilitada:
    mostrar sin parar

Referencias:
sourceware.org/gdb/onlinedocs/gdb/…