いつもお世話になっております。
本格的にJRubyに取り組もうと、以下の開発環境をトライしてみましたが、Debuggerが動作しません。色々と検索してみましたが、問題ありの組み合わせのようでもあり、Try&Errorで試行錯誤もうまくいかず、もし同様な環境で動作しているようであれば、お教えください。
[環境]
OS:WindowsXP(SP3)
NetBeans:(NetBeansのヘルプ->製品について)
製品バージョン: NetBeans IDE 6.1 (Build 200805300101)
Java: 1.5.0_16; Java HotSpot(TM) Client VM 1.5.0_16-b02
システム: x86 上で動作する Windows XP バージョン 5.1; MS932; ja_JP (nb)
JRuby:(NetBeansのツール->Rubyプラットフォーム、プロジェクトのプロパティ->実行)
JRuby 1.8.6 (2008-08-28 patchlevel 114) [java]
Debugger:(NetBeansのツール->Ruby Gems->JRuby(1.1.4))
ruby-debugger-base:0.9.3
ruby-debugger-ide:0.1.9
となっています。
他にも、NetBeans組み込みJRubyやNetBeans6.5βなどでも試してみましたが、症状は同じです。
[症状]
ブレークポイント(BP)を設定して、デバック。
設定したBPで止まっているようにみえる。
>ruby 1.8.6 debugger listens on port 3766
などと出力されるが
1.デバッガ・ウィンドウ(?)の局所変数の表示に時間がかかり
2.しかも局所変数もグローバルも変数が名前列に表示されません
3.止まっていると思われるBPから継続を選択して、プログラムを続行・終了させようとするが、どうもプログラムは動作していないような・・・(BP以前は期待した動作をしますが、BP以降は期待した簡単な動作すらしません)
4.デバッグ対象プログラムが終了しません。通常終了するescでも、Windowの右上×クリックも、NetBeansの右下のプロセス(?)×クリックも駄目。
Windowsのタスク・マネージャーで「タスク終了」を選択することで、「プログラムは応答していません」で強制終了(java.exeの終了になります)。これで、やっとデバッグ対象プログラムが終了します。
[参考]
http://blog.saishu.jp/archives/51261068.html
はもちろん
http://wiki.netbeans.org/RubyDebugging
http://wiki.netbeans.org/RubyDebugging#section-RubyDebugging-KnownNetBeans6.1Issue
http://wiki.netbeans.org/RubyDebugging#section-RubyDebugging-Troubleshooting
なども参考にしました。
[条件]
優先順位は
1.WindowsXP(今のところ、これは外せません。予算があれば、Mac・・・)
2.JRuby1.1.4(折角なので・・・)
3.NetBeans(Windowsなので、それなりのIDEがいいかと・・・)
で、debuggerが使える環境を模索しております。
もし同じような環境で動作している実績があれば、その環境をお教えください。
もしくは、同じような環境で他のアプローチがあれば、お教えください。
とりあえず、WindowsでJruby1.1.4でそれなりのDebuggerが使いたいのです・・・
--
早川 卓
mailto:haya...@ackcell.com
http://www.ackcell.com
私のケースですが・・・・
WindowsXP(SP3)
NetBeans6.5(NetBeans IDE Build 200810091401)
# 私の場合定期的に開発ビルドを入れ替えています。
1.
ruby-debug-baseはNetBeansのRubygem
からインストールしようとするとネィティブRubyしか表示されない時代
(今はわかりませんが・・・)があったため、
http://rubyforge.org/frs/?group_id=3085
よりruby-debug-base-0.10.2-java.gemをダウンロードし
jruby -S gem install --local ruby-debug-base-0.10.2-java
でインストールしています。
2.
jruby -S gem install --ignore-dependencies ruby-debug
jruby -S gem install --ignore-dependencies ruby-debug-ide
でデバッガをインストールします。特にバージョン指定してないので、この操作で
ruby-debug-base:0.10.2
ruby-debug-ide:0.3.1
になりますね。
この状態だと
> 1.デバッガ・ウィンドウ(?)の局所変数の表示に時間がかかり
> 2.しかも局所変数もグローバルも変数が名前列に表示されません
局所変数表示にストレスは感じませんし、変数も表示されます。
> 3.止まっていると思われるBPから継続を選択して、プログラムを続行・終了させようとするが、どうもプログラムは動作していないような・・・(BP以前は期待した動作をしますが、BP以降は期待した簡単な動作すらしません)
ステップインや継続は動作します。
> 4.デバッグ対象プログラムが終了しません。通常終了するescでも、Windowの右上×クリックも、NetBeansの右下のプロセス(?)×クリックも駄目。
最後までプログラムを流せば大丈夫ですが
実行途中で停止ボタンを押したら同様にプロセスが残ります。
ご参考になれば幸いです。
1.最近は
jruby -S gem install --ignore-dependencies ruby-debug
って必要ないんですね。
2.デバッグプロセスが終了しない件は私も5月ぐらいに実際出会っています。
なので、おそらくruby-debugやruby-debug-ide、NetBeansの環境は
早川様に近かったような気が?
その時は、最後までプログラムを流してもプロセスは残ったままでしたが
その後ruby-debugかruby-debug-ideか何かがアップデートされて
今のような状況に改善された覚えがあります。
なので、ruby-debugやruby-debug-ideを最新版にあげてみてはいかがかなと。
3.あ、ちなみにJDKは1.6 update10です。
以上です。