お薦め ページ


メニュー

ハワイ島 遊覧飛行ツアー

ハワイ島 B&B・ホテル

ハワイ島 不動産情報

ハワイ島 情報・観光ガイド

ブログ(Blog)

その他

関連サイト

: 個別エントリー・アーカイブ :

2006年11月26日

Ruby の デバッガ(1)

Ruby には デバッガ機能がある。 実は RDE (Ruby Development Environment) も このデバッガ 機能を利用している。 そのため、 Ruby デバッガ について理解しておく方が RDEのデバッグ機能を使いこなすためにも役に立つ。

Rubyマニュアルの「 コマンドラインオプション 」によると、 「-r」オプションは 「スクリプト実行前に指定されるライブラリを require する」となっている。 つまり、上記の例では Ruby 起動時に 「debug.rb」というライブラリを読み込むことによって デバッガを走らせていることになる。

具体的なデバッグの例を挙げてみる。 ソースとして
1: var="Top Local Variable"
2: p var
3: var="Top Local Variable2"
4: p var
という簡単な スクリプトを var.rb という名前のファイルにしておく。 実際のファイルには、もちろん行頭の番号はつけていなが、 デバッグする際には、行番号が必要となるのでここでは付けてある。 このスクリプトをデバッグ・モードで起動してみる。
> ruby -rdebug var.rb
Debug.rb
Emacs support available.

c:/ruby/lib/ruby/site_ruby/1.8/ubygems.rb:10:require 'rubygems'
(rdb:1)
ここでの「(rdb:1)」というのがデバッグ・モード用のプロンプトである。 それではスクリプトの2行目に「break」コマンド、省略形は「b」を使ってブレークポイントを設定してみる。
(rdb:1) b var.rb:2
Set breakpoint 1 at var.rb:2
(rdb:1)
この場合、「ファイル名:行番号」のフォーマットで設定する必要がある。 実行する前に、「var local」コマンド、短縮形は「v l」を使って現在のローカル変数を表示させてみる。
(rdb:1) v l
(rdb:1)
当たり前だが、まだスクリプトを実行する前なのでローカル変数はなにもない。 次に、「cont」コマンド、省略形は「c」でブレークポイントに到達するまで処理を続行してみる。
(rdb:1) c
Breakpoint 1, toplevel at var.rb:2
var.rb:2:p var
(rdb:1)
ここで再び、「var local」コマンドで現在のローカル変数を表示させてみる。
(rdb:1) v l
  var => "Top Local Variable"
(rdb:1)
今度は、「var」という変数に文字列が入っているのが確認できる。 続いて 2行目にブレークポイントを設定、「cont」、そして、ローカル変数を表示をさせてみる。
(rdb:1) b var.rb:4
Set breakpoint 2 at var.rb:4
(rdb:1) c
"Top Local Variable"
Breakpoint 2, toplevel at var.rb:4
var.rb:4:p var
(rdb:1) v l
  var => "Top Local Variable2"
(rdb:1)
今度は、「var」という変数の内容が、「Top Local Variable2」に変更されているのが確認できる。

この様に、Rubyでは デバッグをすることができる。 ただし、CUIなので、入力がすこし面倒である。

【参考リンク】

カテゴリー: Ruby     2006年11月26日 22:56

トラックバック

このエントリーのトラックバックURL:
http://www.skymerica.com/blog/yotsumoto/mt/mt-tb.cgi/630


コメント

コメントしてください




保存しますか?


 
ハワイ島での遊覧飛行ツアーとB&Bのスペシャリスト、スカイメリカ
Copyright © 2003,2009 Skymerica Corp. All rights reserved.