(Elixir/Erlang)如何从Erlang波束文件中获取源代码文件的行总数?

kokeuurv  于 2022-12-08  发布在  Erlang
关注(0)|答案(1)|浏览(247)

这些信息是否包含在Beam文件的这些块中?或者有其他方法吗?

shyt4zoc

shyt4zoc1#

对于从Erlang编译的梁文件,您可以获得如下行数:

{ok,{_ModuleName,[{debug_info,{debug_info_v1,erl_abstract_code, DebugInfoData}}]}} =
   beam_lib:chunks("my_module", [debug_info]).
{ok, Defs} = erl_abstract_code:debug_info(erlang_v1, x, DebugInfoData, []).
{eof, {Lines, _}} = lists:last(Defs).

"my_module"替换为梁文件的文件名,* 不带 * .beam扩展名。

相关问题