debugger
と書いても開始されません。
NoMethodError: undefined method `run_init_script' for Debugger:Module
from /usr/local/lib/Ruby/gems/1.8/gems/Ruby-debug-base-0.10.3/lib/Ruby-debug-base.rb:239:in `debugger'
from (irb):4
rake my:task --debugger
、すぐにコンソールに戻ります。どうすればrakeタスクをデバッグできますか?
Andrey Kouznetsovの答えは、Ruby 1.9.3を使用してもうまくいきませんでした。 Ruby-debug gemはRuby 1.9をサポートしていないようです。デバッガgemを使用する必要がありました: https://github.com/cldwalker/debugger 。
gem 'debugger'
を追加します。bundle
を実行します。require 'debugger'
を追加します。debugger
への呼び出しを追加します。rakeタスクにブレークポイントが必要です。rake my:task
)。私は解決策を見つけました。
$ gem install Ruby-debug
$ Ruby-debug rake my:task
または一部のシステム
$ rdebug rake my:task
このアプローチは私にはうまくいきませんでした。私はこれを私のコードに追加しました:
require 'Ruby-debug'
# ... code ...
debugger
Visual Studio Code には、かなり良いデバッガが組み込まれています。誰かがこれをrakeで動作させる方法を探しているのを見つけた場合、動作する構成は次のとおりです。
{
"name": "Debug a rake task",
"type": "Ruby",
"request": "launch",
"useBundler": true,
"cwd": "${workspaceRoot}",
"program": "/usr/local/bin/rake",
"args": ["all"]
}
これにより、rakeタスクall
が実行されます。パスをrakeに変更する必要がある場合があります。PATHでパスを実行する方法が見つかりませんでした。
ByeBugは2.0以上の別のバグです