Ich muss einige Module im fremden System debuggen, Modul hat öffentliche Funktion foo() - Wie kann ich Ort (Modul und Funktionsname) von dem foo() gegeben Modul wurde genannt? Ich meine, Stapel von Anrufen.Erlang Aufrufstack
PS: Ich nicht System stoppen, alle Arbeit, die ich dieses Modul durch Neuladen tun können (aber mit som Debug-Informationen)
-module(given).
-export(foo/0).
foo() ->
%% here is my debug - and i need here(!) known about unknown_module:unknown_foo!
ok.
---
-module(unknown_module).
..
unknown_foo() ->
given:foo(). %% see above
Ich habe mein Beispiel geändert, bitte kommentiert – vinnitu
Bitte beachten Sie, dass in einem Fall wie dem oben genannten Beispiel der Aufruf von: foo() ein Tail Call ist - das bedeutet, dass es keine Spur mehr auf dem Stack gibt (per Definition). Wenn Sie diese Art des Debuggens durchführen müssen, sollten Sie sich mit der Ablaufverfolgung in Erlang vertraut machen. – RichardC