ne pas arrêter toutes les discussions dans gdb

Normalement, GDB arrête tous les threads si un point d’arrêt est atteint (ou que l’on appuie sur Ctrl + C dans le shell GDB). Je suis conscient que des commandes telles que scheduler-locked et schedule-multiple existent, mais je ne vois aucune possibilité de laisser un thread défini s’exécuter en arrière-plan pendant qu’un autre est débogué.

Vous pouvez utiliser set target-async on pour activer le mode asynchrone, si votre cible le prend en charge. Ensuite, vous pouvez spécifier une exécution en arrière-plan avec des commandes. Par exemple,

 continue& 

peut être utilisé pour exécuter un seul thread, et

 interrupt [-a] 

pour suspendre l’exécution d’un seul thread, ou de l’ensemble du programme.

En conjonction avec le mode non-stop, vous pouvez examiner un seul thread tandis que d’autres continuent de s’exécuter en arrière-plan:

  # If using the CLI, pagination breaks non-stop. set pagination off # Finally, turn it on! set non-stop on # Before debugging is started!