2008-09-27 58 views
6

我正試圖找到一種更好的方式來將IRB與我的普通ruby開發集成。目前我很少使用IRB和我的代碼。我只用它來驗證語法或嘗試一些小的東西。如何將Interactive Ruby整合到我的開發過程中?

我知道我可以加載自己的代碼到紅寶石作爲

require 'mycode' 

但這通常不會與我的編程風格目。有時我想檢查的變量超出範圍或循環內部。有沒有簡單的方法來激活我的腳本並凍結IRB內的某個點?我想我正在尋找一種更簡單的方式來調試我的ruby代碼而不會破壞我的F5(編譯)鍵。

也許更有經驗的Ruby開發者可以與我分享發展的一個更精簡的方法。

+0

開發測試優先(最好使用RSpec和黃瓜)。那麼你根本不需要IRB。 但是,是的,調試器斷點是其他人已經說過的方法。 – 2011-10-05 14:54:57

回答

10

安裝ruby-debug gem。當然,需要在您的應用程序內(僅在開發/測試模式下)。現在你可以在你想停止執行的地方寫'調試器'。

一旦在你的斷點您的應用程序停機,您可以鍵入「幫助」瞭解所有命令。其中之一是'irb'。它啓動一個IRB會話,在該會話中您可以訪問當前上下文中的所有方法。

我個人主要使用P(打印),EVAL,V I(例如增值經銷商)和V L(本地變量)。當然,n代表下一個,c代表繼續。

但是,離開給定塊/方法的命令從來沒有爲我工作。我從來沒有研究爲什麼:-)

+0

我有一個textmate/e片段,它插入「require」ruby-debug'; debugger「。我每天使用它約10次。這真棒:-) – 2008-09-29 02:00:24

0

我只是使用rdebug來調試任何我的ruby或RoR代碼。

2

我不傾向於直接使用IRB頻繁,我往往是內部導軌等使用腳本/控制檯一堆,但我喜歡用Ruby調試(紅寶石調試寶石)。它可以讓你基本上設置一個斷點,然後逐行通過你的代碼。

這裏有一個關於它的截屏,我沒有實際觀看,但快速搜索拉起來,這可能是有用的:

http://brian.maybeyoureinsane.net/blog/2007/05/07/ruby-debug-basics-screencast/

0

如果你願意使用的IDE調試,我知道Eclipse(通過Ruby Development Tools)有一個相對直接的接口。如果你在做rails,那麼有一個叫做RadRails的特定版本的eclipse,它可能也有幫助(雖然我沒有用它來調試)

相關問題