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

Kevin Scaldeferri <>
Fri Aug 15 22:35:45 CEST 2008


Many languages are compiled to byte code, but able to recover line  
numbers at run time.  I assume they annotate the byte codes with file  
and line information.  Note that this is more powerful than the Erlang  
macros.  For example, Perl's caller() function allows you to inspect  
the full call stack in this way.


-kevin


On Aug 15, 2008, at 12:07 PM, Matt Williamson wrote:

> You should trust the macro. It must use a similar method to Python's  
> because they are both compiled to bytecode and thus there wouldn't  
> *really* be line numbers in either one.
>
> 2008/8/15 devdoer bird <>
> Thanks.
>
> How can I do this without macro? I know python supply some tools to  
> determine the line number in run time,like inspect module.
>
>
> 2008/8/16, Anders Nygren <>:
> 2008/8/15 devdoer bird <>:
> > HI:
> >
> > I want to implement a function like "get_current_lineno()/0" to  
> get the
> > current line number of the calling point?
> > Eg.
> > .....
> > ....
> > io:format("current line is ~w\n",[get_current_lineno()])
> > .....
> >
> > the above code will print the line number of the calling point in  
> the source
> > file.
> >
> > How can I do this  in erlang?
>
> There is a predefined macro ?LINE that does that
> so
> io:format("current line is ~w\n",[?LINE])
>
> /Anders
>
> > _______________________________________________
> > erlang-questions mailing list
> > 
> > http://www.erlang.org/mailman/listinfo/erlang-questions
> >
>
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://www.erlang.org/mailman/listinfo/erlang-questions
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://www.erlang.org/mailman/listinfo/erlang-questions




More information about the erlang-questions mailing list