[erlang-questions] How to get the line number of current executable code?

Richard Carlsson richardc@REDACTED
Tue Aug 26 11:15:38 CEST 2008

Mats Cronqvist wrote:
>  it is not true that the only way to inspect the stack is by forcing an
> exception.
>  i'm too lazy to write actual code, but try this in the shell;
> (r12@REDACTED)41> {_,BT}=erlang:process_info(self(),backtrace).
> (r12@REDACTED)42> S=fun(B,{_,[_,{F,L}|_]})->
> <<_:F/binary,R:L/binary,_/binary>> =B, R end.
> (r12@REDACTED)43> S(BT,re:run(BT,"Return
> addr\\s[0-9a-z]+\\s\\(([^\\s]*)")).
> <<"erl_eval:expr/5">>

Ugh! I didn't know that flag to process_info existed, but I'm happy to
see that Mats' talent for sniffing out the dark corners of Erlang and
using them for unspeakable deeds is as strong as ever.


More information about the erlang-questions mailing list