Précédent   Forum du club des développeurs et IT Pro > C et C++ > Outils pour C & C++ > GDB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 17/04/2012, 16h15   #1
huit_six
Membre confirmé
 
Inscription : avril 2009
Messages : 180
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 180
Points : 219
Points : 219
Par défaut ^C dans GDB envoit un SIGINT au fils du process en cours de debug

Bonjour,
J'essaye de déboguer un programme qui fork/exec un autre processus.
Les deux communiquent ensuite par pipes.
Quand j'essaye de mettre en pause le père en faisant Ctrl+C dans gdb, le signal fils reçoit un sigint et meurt.
Pour le voir, je me suis attaché au processus fils avec un autre gdb et quand le premier reçoit un ^C, le second affiche :
Code :
   Program received signal SIGINT, Interrupt.
Mes questions sont :
* Est-ce normal ? Pourquoi le fils reçoit un signal ?
* Peut-on désactiver ce comportement de gdb ?
* Sinon quelle est la bonne solution ? En attendant, j'ai masqué le signal SIGINT dans le fils...

Merci d'avance !

Note : Par contre, quand les deux processus s'exécutent normalement en dehors de gdb, si j'envoie manuellement un SIGINT au père, le fils ne reçoit pas de signal (ce qui me paraît normal...)
huit_six est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h14.


 
 
 
 
Partenaires

Hébergement Web