Tôi cần gỡ lỗi một số mô-đun trong hệ thống nước ngoài, mô-đun có chức năng công cộng foo() - làm cách nào tôi có thể biết địa điểm (tên mô-đun và chức năng) mà từ đó foo() cho mô-đun được gọi? Tôi có nghĩa là chồng các cuộc gọi.erlang call stack
PS: Tôi không thể dừng lại hệ thống, tất cả công việc tôi có thể làm bằng cách tải lại mô-đun này (nhưng với som thông tin gỡ lỗi)
-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
Tôi sửa đổi ví dụ của mình, vui lòng nhận xét – vinnitu
Xin lưu ý rằng trong trường hợp như ví dụ trên, lệnh gọi: foo() là cuộc gọi đuôi - điều này có nghĩa là sẽ không còn dấu vết nào trên ngăn xếp (theo định nghĩa). Nếu bạn cần thực hiện loại gỡ lỗi này, bạn nên tìm hiểu về truy tìm trong Erlang. – RichardC