2012-10-25 65 views
3

我正處於學習Ruby的早期階段,想要學習如何調試寶石,但是無法在此找到學習資源。一個簡單的例子對我來說很有幫助。如何調試Ruby gem? (指南針)

debugger首選的調試器?我在哪裏需要它?我如何設置斷點?

注:我想提出一個受過教育的猜測,根據需要調試,所以參考我在debugging certain issuesCompass特別感興趣的寶石調試過程可能會有所不同。

+0

RubyGems(包管理器)和Ruby gem(單個包)之間有區別。你想調試哪個? –

+0

具體來說,我鏈接到的稱爲Compass的紅寶石寶石。 – krisbulman

回答

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,只是紅寶石的源位置:

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

因爲我特別決心調試指南針編譯器,我做了以下內容:

  1. 克隆的源:$ git clone git://github.com/chriseppstein/compass.git
  2. 經過現有的指南針版本第一$ compass -v這是13.0
  3. 編輯VERSION.yml和增加補丁號(13.1),所以也沒跟我現有的安裝衝突。
  4. 編輯我想調試的文件,這是lib/compass/compiler.rb並在頂部加入這一行的.RB:require 'debugger'; debugger
  5. 內置寶石:gem build compass.gemspec
  6. 安裝了新編譯的寶石:sudo gem install compass-0.13.2.058ead2.gem
  7. 編譯的現有的指南針爲基礎的項目,我遇到了問題,並開始調試。
  8. 當我完成調試時,我卸載了調試版本sudo gem uninstall compass並選擇了與Compass 13.2對應的編號。

備註第7步:由於調試器具有相同的調試命令紅寶石調試/紅寶石debug19,我能夠跟隨左右的調試步驟現有的教程..

如果您有其他調試教程,三分球,技巧等,請把它們。