我需要在外部系统中调试某个模块, 模块具有公共函数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