Ruby comme Matlab

Bonjour,

Voici une question plutôt Ruby mais j’utilise Ruby essentiellement pour
Rails.
J’aimerais utiliser Ruby au maximum comme Matlab notamment pour la
partie debug. Je sens que ça devrait être possible mais il me manque une
fonctionnalité importante c’est d’avoir accès au workspace pendant le
debug.

Pour expliquer un peu, j’aimerais lancer un script en pas à pas (ça OK)
et avoir accès par la ligne de commande à toutes les variables pour
pouvoir appliquer des fonctions, et éventuellement lancer des scripts.
Je précise qu’il ne s’agit pas simplement de voir les variables et leur
valeur ça c’est OK.

Toute solution à la ligne de commande ou avec eclipse (RDT ou RadRails)
me va très bien.

Si qqun connait les équivalents Ruby à “dbstop if error” ça m’intéresse.
Cela arrête l’exécution d’un programme au moment d’une erreur et passe
directement en debug comme si le prog s’était arrété juste avant la
ligne qui génère l’erreur.

Un truc que j’adorerais serait d’avoir un IDE ruby comme l’IDE Matlab.
Eclipse+RDT n’en est pas loin mais soit il manque 2 3 trucs importants
soit je ne sais pas les utiliser (ce qui est très possible d’où ma
question.)

Merci
H

Harry S. :

Voici une question plutôt Ruby mais j’utilise Ruby essentiellement
pour Rails.
J’aimerais utiliser Ruby au maximum comme Matlab notamment
pour la partie debug. Je sens que ça devrait être possible mais
il me manque une fonctionnalité importante c’est d’avoir accès
au workspace pendant le debug.
[…]

Comme bonne base (ou bonne fondation), tu devrais regarder
du côté de ruby-debug.

– Jean-François.


Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
)

Oui je sens bien qu’il faut utiliser ruby-debug (ou rdebug) mais comment
?
Je suis passé en mode debug sous RadRails ou RDT mais je n’arrive pas Ã
avoir accès aux variables. Supposons que j’ai a et b dans mon espace
mémoire, j’aimerais pouvoir faire c=a+b. Est-ce que c’est possible ou
est-ce que le mode de debug ne me permettra qu’un debug classique avec
des executions pas à pas et une simple visu des variables ?

Je vais suivre ton conseil et regarder le mode debug à la ligne de
commande.

Au passage dans l’IRB, comment exécuter différents scripts, par exemple
un script toto.rb puis un script titi.rb dans la même session ?

Merci
H

Merci !
Effectivement ça marche nickel en ligne de commande.

Maintenant j’aimerais bien réussir à faire marcher ça avec une IDE,
notamment eclipse Ruby Dev Tools (RDT) ou Aptana RadRails.
Le problème avec l’IDE c’est que j’arrive à lancer le debug, à exécuter
pas à pas, à voir les valeurs des variables mais je n’arrive pas à avoir
accès à la console associée au programme en cours de debug. Par exemple
si je veux utiliser cette commande bien pratique de catch exception je
ne sais pas comment.
Je vais aller faire un tour sur l’aide / forums RDT.

H

mourad hammiche wrote:

On 21 nov, 22:00, Harry S. [email protected] wrote:

Oui je sens bien qu’il faut utiliser ruby-debug (ou rdebug) mais comment
?

A mon avis le debugger en ligne de commande est ce qu’il te faut.

Tu lance ton programme en mode debug � l’aide de
ruby -r debug mon_programme.rb

L’invite de commande (rdb:1) permet lancer les commandes du debugger
ainsi que du code ruby.

par exemple “dbstop if error” peut �tre r�alis� par :
catch Exception # intercepte toutes les exceptions
c # continue l’ex�cution du programme
v l # affiche les variables locales
c = a + b # ex�cution du code ruby comme dans IRB

pour plus d’infos voir le lien ci-dessous
Ruby | zenspider.com | by ryan davis

Mourad

On 21 nov, 22:00, Harry S. [email protected] wrote:

Oui je sens bien qu’il faut utiliser ruby-debug (ou rdebug) mais comment
?

A mon avis le debugger en ligne de commande est ce qu’il te faut.

Tu lance ton programme en mode debug à l’aide de
ruby -r debug mon_programme.rb

L’invite de commande (rdb:1) permet lancer les commandes du debugger
ainsi que du code ruby.

par exemple “dbstop if error” peut être réalisé par :
catch Exception # intercepte toutes les exceptions
c # continue l’exécution du programme
v l # affiche les variables locales
c = a + b # exécution du code ruby comme dans IRB

pour plus d’infos voir le lien ci-dessous

Mourad

J’ai trouvé la réponse à une partie de mes questions.
Pour exécuter une commande Ruby dans Eclipse RDT en debug il suffit en
fait d’utiliser les vues ‘Display’ et ‘Expressions’. Dans la vue Display
il suffit de taper la commande et de faire clique droit ‘ruby inspect’.
Le résultat est dans la vue ‘Expressions’.

Par contre cela ne permet pas la commande “catch exception”.

H