2010-12-04 34 views
35

Tenir compte:Débarrassez-vous de « quitter de toute façon » rapide en utilisant GDB: Il suffit de tuer le processus et quit

(gdb) q 
A debugging session is active. 

     Inferior 1 [process 9018] will be killed. 

Quit anyway? (y or n) y 

Quelle est une option .gdbinit pour GDB tuer toujours le processus en cours d'exécution à une demande arrêter?

Je sais que GDB peut se connecter à des processus déjà en cours, il serait donc mauvais de les tuer au moment de quitter. Mais pour un processus commencé à partir de celui-ci, un besoin de confirmer vos actions commence à agacer à un second arrêt.

Répondre

41

confirmation Turning demande de nombreux autres contrôles désactivés globalement utiles, comme celui de vous demander si vous voulez vraiment supprimer tous les points d'arrêt lorsque vous tapez « supprimer ».

Il est préférable de désactiver l'invite uniquement pour la commande Quitter. Vous pouvez le faire en ajoutant ce crochet à votre ~/.gdbinit (pour l'utilisateur en cours) ou/etc/GDB/gdbinit (pour tous les utilisateurs):

define hook-quit 
    set confirm off 
end 
+2

Cela peut être fait pour n'importe quelle commande (mais pas d'alias), la documentation est disponible sur https://sourceware.org/gdb/onlinedocs/gdb/Hooks.html 'define hookpost-handle set confirmation à la fin' pourrait aussi être utile pour inverser la demande de confirmation après qu'une commande est traitée. – Lekensteyn

21
set confirm off 

Voir gdb doc pour plus de détails

+0

Cela fait le travail, mais il désactive également toutes les autres confirmations. –

7

Une autre option est de définir une nouvelle commande qui se ferme sans demandant confirmation:

define qquit 
    set confirm off 
    quit 
end 
document qquit 
Quit without asking for confirmation. 
end 

maintenant, vous pouvez utiliser qquit ou juste qq pour sortir rapidement, sans changer le comportement par défaut de quit

+0

Bon indice, même s'il interprète la question un peu libéralement. :) –

-1

type: Ctrl + D

Avant

xx @ yy: ~>

(gdb)

Après

(gdb) quit

Puis

xx @ yy: ~>