如何调试Ruby gem? (罗盘)

时间:2012-10-25 23:04:21

标签: ruby debugging gem compass-sass

我正处于学习Ruby的早期阶段,并希望学习如何调试gem,但我很难找到学习资源。一个简单的例子对我来说有很长的路要走。

debugger是首选调试器吗?我在哪里需要它?如何用它设置断点?

注意:我正在做出有根据的猜测,根据需要调试的gem,调试过程可能会有所不同,所以作为参考,我对debugging certain issues {{3}特别感兴趣}}

1 个答案:

答案 0 :(得分:4)

好的,我自己想出来了。这是我采取的步骤..

我正在运行Ruby 1.9.3(通过运行ruby -v确定),因此在测试ruby-debugruby-debug19后,我确定这些调试器不再被维护,或者至少没有与我安装的ruby1.9.3-p125一起正常工作。这导致我debugger

有效的安装说明是:

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

我机器上的PATH_TO_HEADERS只是ruby的源位置:

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

由于我特别决定调试Compass编译器,所以我做了以下事情:

  1. 克隆来源:$ git clone git://github.com/chriseppstein/compass.git
  2. 首先检查现有指南针版本$ compass -v,即13.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 compass卸载了调试版本,并选择了与Compass 13.2相对应的编号。
  9. 关于第7步的注意事项:由于调试器与ruby-debug / ruby​​-debug19具有相同的调试命令,因此我能够按照现有的调试步骤进行调试。

    如果您有其他调试器教程,指针,提示等,请发布它们。