IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Utiliser gdb en mode interactif


Sujet :

Linux

  1. #1
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 84
    Points : 90
    Points
    90
    Par défaut Utiliser gdb en mode interactif
    Bonjour,
    J'aimerai utiliser gdb en ligne de commande comme le font les frontend. Je m'explique : si je lance "gdb ./monprog" puis que je tape "run" dans gdb, le programme débogué se lance et ne me rends la main qu'a la fermeture (ou lors de la rencontre d'un point d'arrêt). Mais si je veux rajouter un point d'arrêt alors que le prog est déjà lancé ce n'est pas possible car gdb ne m'affiche pas de prompt. Je sais que c'est possible, ddd le fait par exemple.
    Alors comment lancer gdb afin de pouvoir entrer des commandes pendant le fonctionnement du programme débogué.
    J'espère avoir été clair.
    merci

  2. #2
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Citation Envoyé par jlbrd
    Bonjour,
    J'aimerai utiliser gdb en ligne de commande comme le font les frontend. Je m'explique : si je lance "gdb ./monprog" puis que je tape "run" dans gdb, le programme débogué se lance et ne me rends la main qu'a la fermeture (ou lors de la rencontre d'un point d'arrêt). Mais si je veux rajouter un point d'arrêt alors que le prog est déjà lancé ce n'est pas possible car gdb ne m'affiche pas de prompt. Je sais que c'est possible, ddd le fait par exemple.
    Alors comment lancer gdb afin de pouvoir entrer des commandes pendant le fonctionnement du programme débogué.
    J'espère avoir été clair.
    merci
    tu connais ddd ? c'est gdb avec une IHM.

  3. #3
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    sinon avec gdb c'est
    XXX et le non de ton source j'ai mis .c mais ca marche avec .cpp :30 c'est la ligne pour stopper

    tu Aprés t'as pour faire du pas à pas

    sans oublier les

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stepi nexti finish kill
    etc...

  4. #4
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 84
    Points : 90
    Points
    90
    Par défaut
    Merci pour cette réponse mais elle ne répond pas à ma question. En fait si je veux ajouter un point d'arrêt lorsque le programme débogué est déjà lancé par "run" ce n'est pas possible.
    Exemple pour ilustrer mon pb :
    Dans un terminal je lance "gdb ./monprog" puis "run" (je n'ai pas défini de point d'arrêt). Dans gdb, je ne peux entrer à nouveau des commandes que lorsque le programme débogué est interrompu. Moi ce que je veux c'est pouvoir ajouter des breakpoints alors que le programme débogué fonctionne.

    Je ne sais pas si j'ai été clair cette fois.

    Merci

  5. #5
    Membre éprouvé Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Points : 1 210
    Points
    1 210
    Par défaut
    Citation Envoyé par jlbrd
    Merci pour cette réponse mais elle ne répond pas à ma question. En fait si je veux ajouter un point d'arrêt lorsque le programme débogué est déjà lancé par "run" ce n'est pas possible.
    Exemple pour ilustrer mon pb :
    Dans un terminal je lance "gdb ./monprog" puis "run" (je n'ai pas défini de point d'arrêt). Dans gdb, je ne peux entrer à nouveau des commandes que lorsque le programme débogué est interrompu. Moi ce que je veux c'est pouvoir ajouter des breakpoints alors que le programme débogué fonctionne.

    Je ne sais pas si j'ai été clair cette fois.

    Merci
    ok ben dans ton cas NON car le run va executé le programme et gdb arretera quand ton prog sortira de son execution

    La solution c'est de faire un

    gdb : break point

  6. #6
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 84
    Points : 90
    Points
    90
    Par défaut
    Un programme comme ddd le permet. Il lance gdb puis redonne la main ce qui permet de rajouter des points d'arrêts pendant l'exécution. Je suis conscient que ça ne doit pas être évident à faire mais c'est possible c'est sûr. Reste à savoir comment !

    Merci quand même pour ces réponses

  7. #7
    zul
    zul est déconnecté
    Membre éclairé Avatar de zul
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    498
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 498
    Points : 699
    Points
    699
    Par défaut
    Ctrl-C dans gdb permet d'arreter le flux d'execution et de reprendre la main dans gdb.

  8. #8
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 84
    Points : 90
    Points
    90
    Par défaut
    Cela fonctionne sans doute sous linux mais je veux faire cela sous Windows avec minGW.

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/02/2008, 20h41
  2. Comment utiliser GDB
    Par momeftah dans le forum Mandriva / Mageia
    Réponses: 1
    Dernier message: 23/01/2007, 10h20
  3. Réponses: 9
    Dernier message: 04/12/2006, 09h22
  4. Comment utiliser XWin32 en mode graphique ?
    Par Varae dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 15/10/2006, 04h00
  5. Sauter vers le mode interactif depuis un script Python
    Par bahamut00 dans le forum Général Python
    Réponses: 5
    Dernier message: 21/07/2006, 17h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo