- お知らせ -
  • 当wikiのプログラムコードの表示を直してみました(ついでに長い行があると全体が下にぶっ飛ぶのも修正)。不具合があればBBSまでご連絡下さい。

Ruby/Ruby on Rails/デバッグする方法

はじめに Edit

NetBeansでローカルの仮想マシンとかcoLinux上のLinuxやリモートのサーバーのRailsやRubyアプリをリモートデバッグしたいという話。

NetBeans公式には以下のようにあるので、NetBeans 6.8以降では動きそうなものですが、実際のリモートデバッグに関するドキュメントが見当たらないような…(´・ω・`)

Ruby and Rails Debugger
:
You can debug Ruby files that are not part of a NetBeans project, or attach the debugger to any remote process started from the command line, and get all the advantages of a user-friendly debugger frontend.
via: NetBeans IDE - Ruby and Ruby on Rails Development

このページは現在実験中です…( ´д`)

※Windowsで開発していてRailsもWindowsで動作確認している環境の方(もしくは同じWindowsマシンでも動かせる方)は、../Windows上のRailsを同じマシンのNetBeansでデバッグする方法 も参考にして下さい。

↓↓↓下記は、クライアントWindowsのNetBeans、サーバーがUbuntu Linuxの場合↓↓↓

動作確認環境 Edit

  • クライアント側
    • OS Windows XP SP3(32bit)
    • NetBeans 6.9beta
    • MRI Ruby 1.8.7 for win32
  • サーバー側
    • coLinux + Ubuntu 9.04
      (というかPortableUbuntuをアップグレードしたものです)
    • MRI Ruby 1.8.7, Rails 2.3.5 (インストール、動作済みとします)

試してみた Edit

↓下記の記事を見つけたので試してみています。
Remote Debugging: explore Ruby code easily : Martin's Blog

デバッグ用のRubyGemsのインストール Edit

まずは、リモート側にデバッグ用のライブラリ ruby-debug-base ruby-debug-ide をインストールします。
以下はリモートのUbuntuにて、

$ sudo gem install ruby-debug-base ruby-debug-ide
[sudo] password for xxxxxx: 
Building native extensions.  This could take a while...
Building native extensions.  This could take a while...
Successfully installed linecache-0.43
Successfully installed ruby-debug-base-0.10.3
Building native extensions.  This could take a while...
Successfully installed ruby-debug-ide-0.4.9
3 gems installed
$ 

さっくりいけました。

※ "Building native extensions."とか言ってネイティブ拡張をコンパイルしてるっぽいので、
もしエラーでこけたら、下記のようにしてコンパイル環境を整えて置く必要はあります。

sudo aptitude install ruby-dev build-essential

Ubuntu/Ruby on Rails のような方法でRails環境を整えられた場合はすでにコンパイルできる環境かと思いますが)

デバッグ用のポートの設定 Edit

次に、クライアントからリモートへデバッグ用にポートを開け接続できるようにしておきます。

ここの実験ではポート7000番を使ってみます。

※ここは環境に応じて設定して下さい

PortableUbuntu DOS(coLinuxのUbuntu)の場合は任意のポートをクライアントから接続できるようにします。
具体的には、config/portable_ubuntu.conf のports_to_redirectの設定にTCPの4000番を追加します

例えば、

ports_to_redirect=tcp:10022:22/tcp:3000:3000:3

となっていたら、

ports_to_redirect=tcp:10022:22/tcp:3000:3000:3/tcp:4000:4000

次にそもそも Railsが動くか確認します。といってもscript/runnerですが。

$ ruby script/runner "puts 'クラウド破産'"
クラウド破産

$ ruby script/runner "puts 'クラウド破産'"

止まる件…うごかねー!!
[TODO]:試した記述を書く

参考リンク Edit


No comment. Comments/Ruby/Ruby on Rails/デバッグする方法/NetBeansでリモートデバッグする方法?

Name:

Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New Pages Search Recent changes   Help   RSS of recent changes
Last-modified: 2010-05-19 Wed 20:06:53 JST (2680d)