3

我正处于学习 Ruby 的早期阶段,并且想学习如何调试 gem,但是在寻找有关这方面的学习资源时遇到了麻烦。一个简单的例子对我来说会有很长的路要走。

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

注意:我做出有根据的猜测,调试过程可能会根据需要调试的 gem 有所不同,因此作为参考,我对使用Compass调试某些问题特别感兴趣。

4

1 回答 1

4

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

我正在运行 Ruby 1.9.3(由 running 确定ruby -v),因此在测试ruby ​​-debug和ruby​​-debug19 之后,我确定这些调试器不再维护,或者至少在我安装的 ruby​​1.9.3-p125 时无法正常工作. 这导致我调试器

有效的安装说明是:

$ 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对应的数字。

关于第 7 步的注意事项:由于调试器具有与 ruby​​-debug/ruby-debug19 相同的调试命令,因此我能够按照现有的关于调试步骤的教程进行操作。

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

于 2012-10-26T12:10:15.290 回答