使用MRI 1.9
当引发异常导致回溯被打印时,如果回溯显示接收器和方法参数的值以及方法名称,则调试通常会更加容易。有没有办法做到这一点?
考虑一些情况,例如将nil深深地传递给不期望它的库代码,或者两个字符串具有不兼容的编码并且一些例程试图连接它们
答案 0 :(得分:2)
使用backtracer gem可以使用1.8.6。
1.9稍微破坏了回调,但是还不兼容。如果需要,我也许可以让它工作。
您可以使用类似委托的内容并查看单个对象的参数:
class A def go a, b end end class A2 def initialize *args @delegate = A.new *args end def method_missing meth, *args p "got call to #{meth}", args.join(', ') @delegate.send(meth,*args) end end
输出
"in go2" "got call to go" "3, 4"