ruby - 如何调试 Ruby gem? ( compass )

标签 ruby debugging gem compass-sass

我正处于学习 Ruby 的早期阶段,想学习如何调试 gem,但找不到相关的学习资源。一个简单的例子对我来说意义重大。

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

注意:我有根据地猜测,调试过程可能会因需要调试的 gem 而不同,因此作为引用,我对 debugging certain issues 特别感兴趣。与 Compass .

最佳答案

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

我正在运行 Ruby 1.9.3(通过运行 ruby -v 确定),所以经过测试 ruby-debugruby-debug19 ,我确定这些调试器不再维护,或者至少在我安装的 ruby​​1.9.3-p125 中无法正常工作。这导致我 debugger .

有效的安装说明是:

$ gem 安装调试器 -- --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 版本 $ compass -v 是 13.0
  3. 编辑了 VERSION.yml 并增加了补丁编号(至 13.1),因此它不会与我现有的安装冲突。
  4. 编辑了我要调试的文件的 .rb,即 lib/compass/compiler.rb 并在顶部添加了这一行:require 'debugger';调试器
  5. 构建 gem:gem build compass.gemspec
  6. 安装新编译的 gem:sudo gem install compass-0.13.2.058ead2.gem
  7. 编译了我遇到问题的现有基于 compass 的项目,并开始调试。
  8. 当我完成调试后,我使用 sudo gem uninstall compass 卸载了调试版本,并选择了与 Compass 13.2 对应的数字。

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

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

关于ruby - 如何调试 Ruby gem? ( compass ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13078638/

相关文章:

ruby - 如何找出复制的行数?

visual-studio - 如何在 Visual Studio 2015 中创建的 VSIX 中调试 Visual Studio 包

iphone - 远程调试iOS应用程序

代码块调试器因程序参数而失败

ruby - 活跃的 ruby 商人

ruby - 支持 ObjectGUID 的 Ruby Active Directory gem

ruby - 从 ruby​​ 中的多个线程写入单个文件

ruby-on-rails - 如何生成假书名?

ruby 乘客 : no such file to load bundler

ruby-on-rails - 覆盖 rake 发布任务以使用 Gemfury