2011-10-17 3 views
23

Il mio programma è determinato a interrompere la sua esecuzione premendo CTRL + C nella finestra di comando. A questo punto, ho un errore critico proprio in questa fase di arresto, quindi voglio eseguire il debug con gdb.Terminare il programma premendo CTRL + C all'interno GDB

problema è, gdb ridefinisce CTRL +C come propri interrupt e sospende l'esecuzione quando hitted. Come posso gestirlo che CTRL + C alimenta il mio programma e gdb può catturare la traccia dello stack?

+0

Correlati: http://stackoverflow.com/q/6008140/694576 – alk

risposta

31

Dal prompt (gdb), digitare signal SIGINT. Questo invierà (surprize) SIGINT al programma in fase di debug.

In alternativa, handle SIGINT nostop print pass farà in modo che GDB passi il segnale direttamente al processo inferiore (in fase di debug).