3

私は Ruby の学習の初期段階にあり、gem のデバッグ方法を学びたいと思っていますが、これに関する学習リソースを見つけるのに苦労しています。簡単な例は、私にとっては大いに役立ちます。

デバッガーは推奨されるデバッガーですか? どこでそれを要求しますか? ブレークポイントを設定するにはどうすればよいですか?

注:私は、デバッグが必要な gem によってデバッグ プロセスが異なる可能性があると推測しています。そのため、参考までに、 Compass に関する特定の問題のデバッグに特に関心があります

4

1 に答える 1

4

わかりました、これは自分で考え出しました。ここに私が取ったステップがあります..

私は Ruby 1.9.3 を実行しているので ( を実行して判断)、 ruby​​-debugとruby ​​-debug19ruby -vをテストした後、これらのデバッガーはメンテナンスされていないか、少なくとも ruby​​1.9.3-p125 のインストールでは適切に動作しないと判断しました。 . これにより、debuggerにたどり着きました。

うまくいったインストール手順は次のとおりです。

$ gem install debugger -- --with-ruby-include=PATH_TO_HEADERS

私のマシンのPATH_TO_HEADERSは、単にルビーのソースの場所でした:

/Users/myusername/.rvm/src/ruby-1.9.3-p125/

私は特に Compass コンパイラをデバッグすることに決めていたので、次のことを行いました。

  1. ソースを複製しました:$ git clone git://github.com/chriseppstein/compass.git
  2. $ compass -v13.0 だった既存のコンパスのバージョンを最初に確認しました
  3. VERSION.yml を編集し、パッチ番号を (13.1 に) 増やして、既存のインストールと競合しないようにしました。
  4. デバッグしたいファイルの .rb を編集lib/compass/compiler.rbし、先頭に次の行を追加しました。require 'debugger'; debugger
  5. 宝石を構築しました:gem build compass.gemspec
  6. 新しくコンパイルされた gem をインストールしました。sudo gem install compass-0.13.2.058ead2.gem
  7. 問題が発生していた既存のコンパス ベースのプロジェクトをコンパイルし、デバッグを開始しました。
  8. デバッグが完了したら、デバッグ バージョンをアンインストールし、sudo gem uninstall compassCompass 13.2 に対応する番号を選択しました。

手順 7 に関する注意:デバッガーには ruby​​-debug/ruby-debug19 と同じデバッグ コマンドがあるため、デバッグ手順に関する既存のチュートリアルに従うことができました。

他のデバッガーのチュートリアル、ポインター、ヒントなどがある場合は、投稿してください。

于 2012-10-26T12:10:15.290 に答える