0

Ruby中的 JavadumpStack()函数等价物是什么?

public static void dumpStack()

将当前线程的堆栈跟踪打印到标准错误流。此方法仅用于调试。

也可以看看:Throwable.printStackTrace()

4

1 回答 1

0

Kernel#caller将以数组形式为您提供当前调用堆栈。如果您只想要堆栈的一部分,您还可以设置开始和结束帧。

def a(skip)
  caller(skip)
end
def b(skip)
  a(skip)
end
def c(skip)
  b(skip)
end
c(0)   #=> ["prog:2:in `a'", "prog:5:in `b'", "prog:8:in `c'", "prog:10:in `<main>'"]
c(1)   #=> ["prog:5:in `b'", "prog:8:in `c'", "prog:11:in `<main>'"]
c(2)   #=> ["prog:8:in `c'", "prog:12:in `<main>'"]
c(3)   #=> ["prog:13:in `<main>'"]
c(4)   #=> []
c(5)   #=> nil
于 2013-07-31T21:02:58.330 回答