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

Ruby on Rails Discussion :

Debug application rails


Sujet :

Ruby on Rails

  1. #1
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 401
    Points : 153
    Points
    153
    Par défaut Debug application rails
    Bonjour,

    Je voudrais savoir comment est-ce que l'on peut avoir un breakpoint dans un controller d'une application rails.

    J'ai déjà vu plusieurs articles mais pas trop compréhensibles...

    merci

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 172
    Points : 219
    Points
    219
    Par défaut
    Bonjour,

    Citation Envoyé par pjmorce Voir le message

    Je voudrais savoir comment est-ce que l'on peut avoir un breakpoint dans un controller d'une application rails.
    Dans une fenêtre de commande, tu lances :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ruby script/breakpointer
    Dans ton contrôleur tu mets l'instruction "breakpoint" dans la méthode à debuger.
    Tu accèdes ensuite à ton application pour faire déclencher la méthode du contrôleur à débuger et la fenêtre dans laquelle tu as lancé "breakpointer" devient un prompt dans lequel tu peux examiner les variables comme dans la console.

    Côme

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 73
    Points : 67
    Points
    67
    Par défaut
    il y'a aussi un gem sympa qui s'apppelle ruby-debug

    Voir ce RailsCast

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 401
    Points : 153
    Points
    153
    Par défaut
    Bonjour

    J'ai écrit ce simple code afin de tester le debug en rails:

    def index
    puts ">>>>>>>>>>>>>>>> begin"
    i = 1
    j = 2
    x="abcdef"
    puts x
    breakpoint "Testing breakpoint"
    puts ">>>>>>>>>>>>>>>> end"
    render "done!"
    end

    J'ai 2 command line ouvertes une où j'ai exécuté :
    > ruby script/breakpointer
    l'autre o`j'ai exécuté
    > ruby script/server

    Lorsque j'arrive à l'instruction breakpoint, l'exécution s'arrete bien mais:
    1 - dans la command line de debugging, si je fais par exemple
    > ?i
    la réponse que j'ai est 105
    Hors, la valeur de ma variable "i" est 1

    2 - Comment fermer la ligne de commande de debuuging? j'ai fais CTRL^D afin que le processus continue mais j'ai beau faire CTRL^C, la ligne de commande ne s'interromp pas....


    merci de votre aide

    Citation Envoyé par debutant_linux Voir le message
    il y'a aussi un gem sympa qui s'apppelle ruby-debug

    Voir ce RailsCast

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 172
    Points : 219
    Points
    219
    Par défaut
    Bonjour,

    Citation Envoyé par pjmorce Voir le message
    1 - dans la command line de debugging, si je fais par exemple
    > ?i
    la réponse que j'ai est 105
    C'est normal "?i" en Ruby, ça désigne la valeur de codage du caractère i. En ASCII i est codé avec 105.

    Dans la ligne de commande tu dois taper des instruction Ruby. Si tu veux la valeur de i, tu tapes simplement "i" ou encore "puts i".

    Citation Envoyé par pjmorce Voir le message
    2 - Comment fermer la ligne de commande de debuuging?
    "exit", ça marche pas ?

    Côme

  6. #6
    Membre habitué
    Inscrit en
    Octobre 2007
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 401
    Points : 153
    Points
    153
    Par défaut
    J'ai découvert mon problème.

    Afin que je puisse voir certaine variable il faut les déclarer comme ça "@variable = 1" par exemple.
    Apres pour voir leur valeur, à partir de la console irb de debugging:
    > @variable

    Pour sortir de la console il faut taper exit.
    CTRL^D pour continuer
    CTRL^C pour terminer le processus

    merci

    Citation Envoyé par Côme Voir le message
    Bonjour,



    C'est normal "?i" en Ruby, ça désigne la valeur de codage du caractère i. En ASCII i est codé avec 105.

    Dans la ligne de commande tu dois taper des instruction Ruby. Si tu veux la valeur de i, tu tapes simplement "i" ou encore "puts i".



    "exit", ça marche pas ?

    Côme

Discussions similaires

  1. [JRuby] Porter une application Rails en JRuby
    Par DonKnacki dans le forum Autres
    Réponses: 4
    Dernier message: 12/05/2009, 15h05
  2. Généricité d'application rails
    Par rivsc dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 28/01/2009, 17h48
  3. Mise en ligne d'une application Rails?
    Par san1981 dans le forum Ruby on Rails
    Réponses: 1
    Dernier message: 29/07/2008, 19h52
  4. debug application service
    Par ppphil dans le forum Visual Studio
    Réponses: 8
    Dernier message: 03/08/2007, 10h53
  5. Debug application multi thread
    Par Razowsky dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2005, 18h14

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