有了這個最小的Ruby代碼:硬編碼「需要‘調試’」找不到的資源文件
require 'debug'
puts
在一個文件調用,例如script.rb
如果我啓動它,像這樣:在調試提示ruby -rdebug script.rb
,然後按l
,我得到的上市,預期
,如果我不是正常運行它ruby script.rb
按l
當我得到:
(rdb:1) l
[-3, 6] in script.rb
No sourcefile available for script.rb
錯誤消息似乎英里最好的進展:工作目錄沒有改變,並且文件肯定還在那裏!
我無法找到關於這種行爲的文件(我試過兩個JRuby和MRI和行爲是一樣的)
我知道「調試」和「撬」,但他們所服務不同的使用情況:
我已經習慣了其他腳本語言有一個內置的調試模塊,可以讓我把一份聲明中任何地方的代碼給我打電話的調試環境,檢查代碼,變量和這樣的......它的內在優勢在於它可以在任何地方使用,而無需爲它設置環境,甚至當我在不屬於我自己的機器上時
我可以始終在呼喚與-rdebug
解釋和手動設置斷點顯然解決這個,但我覺得這比其他
因此,只要開始讀取文件,調試模塊就不可用......但只要'需要'調試''它應該是,沒有'它呢? 我測試了你的假設,通過需要另一個文件並進入:並且確實有效,所以顯然問題在於調試模塊無法正確初始化從 調用的相同上下文的數據,您認爲這應該被報告爲一個錯誤? – berdario 2013-04-08 11:16:35