似乎我总是在我的一个脚本上收到此错误:
/Users/amosng/.rvm/gems/ruby-1.9.3-p194/gems/ruby-prof-0.11.2/lib/ruby-prof/profile.rb:25: stack level too deep (SystemStackError)
有没有人遇到过这个错误?什么可能导致它,我能做些什么来防止它发生?
我使用命令运行我的 ruby-prof 脚本
ruby-prof --printer=graph --file=profile.txt scraper.rb -- "fall 2012"
编辑我在 Mac OS X 上,如果这很重要的话。不幸的是,这样做ulimit -s 64000
似乎没有多大帮助。这是ulimit -a
给出的:
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 64000
cpu time (seconds, -t) unlimited
max user processes (-u) 709
virtual memory (kbytes, -v) unlimited
编辑 2
Andrew Grimm 的解决方案可以很好地防止 ruby-prof 崩溃,但分析器似乎有其自身的问题,因为我看到一个进程所花费的总时间的百分比为 679.50%......