2010-05-18 24 views

回答

1

如果低級別的功能使用Ruby編寫,重新打開它的類,並使用alias_method_chain

class TheClass 
    def low_level_with_debug_output 
    puts "I am being called by #{caller.first.inspect}" 
    low_level_without_debug_output 
    end 

    alias_method_chain :low_level, :debug_output 
end 

alias_method_chain是Rails主義。

如果低級函數不是用Ruby編寫的,您可能需要在解釋器本身上使用ruby-debug甚至gdb來獲取堆棧跟蹤。

+0

謝謝!我這樣做了,它給我看了下面的錯誤。任何想法出了什麼問題? 「期望/Users/mingyeow/mrtweet/lib/formatter/user_formatter.rb來定義Formatter :: UserFormatter」 – 2010-05-19 02:02:53

+0

您可能重新打開了該類錯誤?沒有看到所有的代碼,我不能確定 – x1a4 2010-05-19 08:02:58