Question

Je veux utiliser le débogueur IDE de Rumbymine pour déboguer un processus Ruby exécutant dans le shell de commande, car il est engendré, par exemple par "Rails Console".

J'ai obtenu un excellent kilométrage du débogueur lors de l'exécution du serveur Web (à partir de Rumbymine) ou des suites de test (également exécutées à partir de Rumbymine).

Cependant, si le processus n'est pas démarré par Rumbymine, je suis à court de comment attacher le débogueur.

J'utilise la version rubymine 3.2.4 sur Ubuntu avec Sun Java 1.6.0_26, Ruby Ree 1.8.7 et les derniers gemmes de débogage:

ruby-debug-base (0.10.4)
ruby-debug-ide (0.4.17.beta8)

Les pensées?

Était-ce utile?

La solution

Utilisation Ruby Demote Debug Type de configuration en rubymine. Reportez-vous au fonctionnaire Documentation Rubymine pour plus de détails.

Fondamentalement, vous exécutez le script comme:

rdebug-ide --port <port number> -- script.rb

puis connectez-vous au port spécifié de Rumbymine Debugger.

Autres conseils

C'est ainsi que vous le faites en rails:

Tout d'abord, assurez-vous que vous avez rdebug-ide installée:

gem install ruby-debug-ide --platform=ruby

Ensuite, exécutez ceci dans la console:

rdebug-ide --port 6778 -- /projects/your_rails_project/script/rails console

ou pour Rails 4.0+

rdebug-ide --port 6778 -- /projects/your_rails_project/bin/rails console

Ou, comme @christopherwill mentionné dessous, vous pouvez passer un --host Paramètre Si vous souhaitez déboguer un serveur non local. (Lisez son commentaire ci-dessous pour les mises en garde)

Cela attendra que les clients de débogage à distance se connectent.

  1. Cliquez sur Exécuter> Modifier les configurations dans Rubymine puis ajouter une instance "Ruby Remote Debug"

  2. Utilisez le même port que ci-dessus 6778 (si vous modifiez celui ci-dessus, assurez-vous que les ports correspondent)

  3. Le dossier racine et le dossier racine local sont les mêmes, / projets / your_rails_project

  4. Cliquez sur Appliquer et fermer.

Ensuite, choisissez cette configuration dans la liste juste à côté des boutons d'exécution et de débogage, puis cliquez sur le bouton de débogage. Donnez-lui quelques secondes et la console exécutera "Rails Console" partout où vous avez exécuté "rdebug-ide"

Je veux vraiment publier quelque chose ici qui est très difficile de trouver une réponse complète là-bas et il m'a fallu beaucoup de temps pour comprendre. Il y a des gens qui demandent comment attacher un débogage à distance au travailleur de Resque et voici la bonne façon qui fonctionne enfin pour moi. Cet article est élevé sur Google Search et sera facile à trouver.

De Shell sur le serveur (pour moi c'est mon ordinateur portable) l'exécutez à partir de votre site Root: rdebug-ide --port 1236 --Dispatcher-Port 26166 - Host 0.0.0.0 Bin / Rake Resque: Work Queue = *

Dans Rumbymine IDE Configurez le débogage à distance avec: Hôte distant: 127.0.0.1 Port distant: 1236 Remote Root Folder: Chemin sur le serveur vers le site Root du site Port local: 26166 PATAIN ROOT local: chemin sur votre poste de travail vers votre fichier racine où vous définissez des points d'arrêt ( Dans mon cas, tout est local, donc c'est tout 1 chemin et 1 copie des fichiers)

Exécutez votre serveur Web comme d'habitude avec: Rails S

Configurez un point d'arrêt dans votre travailleur de la resque et essayez d'exécuter tout ce dont vous avez besoin sur votre site pour vous amener à ce point d'arrêt.

1 Remarque - Le bijou du "printemps" m'a donné des erreurs et j'ai dû le commenter / pack.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top