Ich wirklich, obwohl ich eine Antwort online finden würde, aber ich konnte nicht. Gibt es überhaupt einen Unterschied? Die Leute sagen, dass ein "Backtrace" erzeugt wird, wenn eine Ausnahme ausgelöst wird, während eine Stack-Trace eine Liste von Methodenaufrufen von dem Punkt, an dem die Anwendung gestartet wurde, bis zu dem Punkt reicht, an dem die Ausnahme ausgelöst wurde. Wenn wir eine Stack-Trace als Array betrachten, dann wäre das letzte Element die Methode, bei der die Ausnahme ausgelöst wurde. Wäre es umgekehrt für eine Rückverfolgung? In einer Programmiersprache wie Ruby, zum Beispiel, wenn wir haben:Was ist der Unterschied zwischen einem Stack-Trace und einem Back-Trace?
begin
raise 1
rescue
p $!.backtrace ; p caller(0) #=> displays the back-trace, then the stack-trace
end
Sie werden Ausgang 2 verschiedene Arrays, die mir schon sagt etwas grundlegend anders über sie ist.
Linux existierte kaum, als Ruby erstellt wurde, ich bezweifle, dass irgendwelche Begriffe in Ruby von dort abgeleitet sind. Ruby wurde im Februar 1993, Linux irgendwann im Sommer 1991 erstellt. SLS, die erste Linux-Distribution, war gerade mal 5 Monate alt und buggy, als Ruby anfing. –
@ JörgWMittag Spekulationen meinerseits und Sie haben wahrscheinlich Recht, obwohl das hängt davon ab, wenn Exception.backtrace an erster Stelle hinzugefügt wurde. Es ist wahrscheinlicher, dass der Begriff damals populär war, da GNU-Tools dazu neigen, diesen Begriff zu verwenden (z. B. GDB und das Backtrace-Tool, das zuerst unter Unix existierte). Wie ich schon sagte - hier zufällig! Ich bin überrascht, dass Ruby so alt ist. –
Konzipiert am 24. Februar 1993, veröffentlicht 1995, 1.0 an Weihnachten 1996. –