我对使用ruby-prof感兴趣,并特别感兴趣的是它的内存分析方面。我正在尝试专门用于ruby 1.9.3-p484。我知道它需要一个补丁,并基本上应用this虽然修改为p484。如何让ruby mkmf识别补丁函数?
的Ruby编译/构建罚款和我对红宝石环境IRB对GC定义的那些功能
irb(main):001:0> GC.malloc_allocations
=> 56769
irb(main):002:0> GC.malloc_allocated_size
=> 11939060
然后我尝试宝石安装红宝石教授(使用我的自定义红宝石宝石二进制),它安装很好。但是,它运行的mkmf extconf拒绝识别修补的函数。 Irb证实了这一点。
irb(main):004:0> have_func("rb_gc_malloc_allocations")
checking for rb_gc_malloc_allocations()... no
=> false
irb(main):005:0> have_func("rb_gc_malloc_allocated_size")
checking for rb_gc_malloc_allocated_size()... no
=> false
我知道documentation for have_func说,它会检查“共同”(不知道这是什么意思)头第一文件或任何其他头文件你告诉它来检查。默认情况下ruby-prof只检查公共头文件(在他们的extconf.rb中)。
不幸的是,我对C不太热。我是否错过了补丁?我是否也需要在Ruby标题中添加一些内容?我需要将一些标志传递给gem install命令,以便ruby-prof的extconf.rb找到正确的函数?有什么建议么?