-module(decompile).

%% API
-export([
    start/1
]).

start(Module) when is_atom(Module)->
	start(Module, erlang:atom_to_list(Module) ++ ".erl").
start(Module, ToFile) when is_atom(Module)->
    {ok,{_,[{abstract_code,{_,Data}}]}} = beam_lib:chunks(code:which(Module), [abstract_code]),
    SourceCode = erl_prettypr:format(erl_syntax:form_list(Data)),
    file:write_file(ToFile, SourceCode).

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐