调试 Ruby on Rails 应用程序 1.9.2
我一直在使用 Ruby 调试器,并且希望能够从 irb 获取堆栈转储。如何获得垃圾收集转储?
另外,我应该使用什么补丁来稍微调整垃圾收集器?
I have been using Ruby debugger and want to be able to get stack dumps from irb. How can I get garbage collection dumps?
Also what patch should I use to be able to tweak the garbage collector a bit?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 Ruby 中,如果需要,您可以随时重新打开类并重新定义它们。因此,您可以重新打开 GC 类并添加转储或重新定义您想要的任何方法。您还可以创建现有方法的别名,以便稍后可以再次调用它们。例如。如果您有一个带有方法
bar
的类Foo
,您想向其中添加一些功能,您可以执行以下操作:所以您采用原始的
bar
code> 方法并将其别名为original_bar
,然后重新打开bar
并插入您的自定义代码,然后再次引用原始bar
方法。见证红宝石的力量!In Ruby you can re-open classes at any point and redefine them if you want. So you could re-open the GC class and add dumps or redefine any methods you want. You also create aliases of existing methods so that you could call them again later. For example. if you had a class
Foo
with a methodbar
that you wanted to add some functionality to, you could do something like:So you take the original
bar
method and alias it tooriginal_bar
, then re-openbar
and insert your custom code, then reference the originalbar
method again. BEHOLD THE POWER OF RUBY!