7
虽然我可以在网上找到答案,但我不能。有没有什么区别?人们说,在引发异常的事件上会生成一个“回溯”,而堆栈跟踪是从应用程序启动到引发异常的时候的方法调用列表。如果我们认为堆栈跟踪是一个数组,那么最后一个元素就是抛出异常的方法。是否会出现反向追踪?在编程语言像Ruby,例如,如果我们有:堆栈跟踪和回溯之间有什么区别?
begin
raise 1
rescue
p $!.backtrace ; p caller(0) #=> displays the back-trace, then the stack-trace
end
他们将输出2种不同的排列,这说明我还有一些关于他们根本不同的。
当Ruby创建时Linux几乎不存在,我怀疑Ruby中的任何术语都是从那里派生出来的。 Ruby于1993年2月创建,Linux于1991年夏天发布.SLS是第一个发行Linux的版本,仅仅5个月的时间,并且在Ruby开始的时候,它就像地狱一样。 – 2014-10-20 14:06:09
@JörgWMittag对我而言,你可能是对的,但这取决于Exception.backtrace何时添加。自从GNU工具倾向于使用这个术语(例如GDB和首先在Unix上存在的回溯工具)以来,它更可能是当时流行的术语。就像我说的 - 在这里意外!我很惊讶Ruby实际上是那么古老。 – 2014-10-20 14:19:29
设想于1993年2月24日,1995年出版,1996年圣诞节出版。 – 2014-10-20 14:23:47