我需要在外部系統中調試某個模塊, 模塊具有公共函數foo() - 如何知道從哪個地方(模塊和函數名稱) foo()給定模塊被調用?我的意思是一堆電話。erlang調用堆棧
PS:我不能停止的系統,所有的工作,我可以通過重載做到這一點模塊(但SOM調試信息)
-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
我有修改我的例子,請註釋 – vinnitu 2010-02-12 16:34:32
請注意,在上面的例子中,對給定:foo()的調用是尾部調用 - 這意味着堆棧上不會留下任何痕跡每個定義)。如果您需要進行這種調試,您應該瞭解有關Erlang的跟蹤。 – RichardC 2010-03-05 15:11:17