瀏覽代碼

Write rebar3.crashdump on errors

pull/1080/head
Heinz N. Gies 9 年之前
父節點
當前提交
bc9746881f
共有 2 個檔案被更改,包括 6 行新增3 行删除
  1. +4
    -2
      src/rebar3.erl
  2. +2
    -1
      src/rebar_state.erl

+ 4
- 2
src/rebar3.erl 查看文件

@ -265,7 +265,8 @@ handle_error({error, rebar_abort}) ->
handle_error({error, {Module, Reason}}) ->
case code:which(Module) of
non_existing ->
?ERROR("Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace", []),
file:write_file("rebar3.crashdump", io_lib:fwrite("~p: ~p~n~p~n~n", [Module, Reason, erlang:get_stacktrace()])),
?ERROR("Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace rebar3.crashdump", []),
?DEBUG("Uncaught error: ~p ~p", [Module, Reason]),
?INFO("When submitting a bug report, please include the output of `rebar3 report \"your command\"`", []);
_ ->
@ -278,7 +279,8 @@ handle_error({error, Error}) when is_list(Error) ->
handle_error(Error) ->
%% Nothing should percolate up from rebar_core;
%% Dump this error to console
?ERROR("Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace", []),
file:write_file("rebar3.crashdump", io_lib:fwrite("Error: ~p~n~p~n~n", [Error, erlang:get_stacktrace()])),
?ERROR("Uncaught error in rebar_core. Run with DEBUG=1 to see stacktrace or consult rebar3.crashdump", []),
?DEBUG("Uncaught error: ~p", [Error]),
case erlang:get_stacktrace() of
[] -> ok;

+ 2
- 1
src/rebar_state.erl 查看文件

@ -417,7 +417,8 @@ create_logic_providers(ProviderModules, State0) ->
catch
C:T ->
?DEBUG("~p: ~p ~p", [C, T, erlang:get_stacktrace()]),
throw({error, "Failed creating providers. Run with DEBUG=1 for stacktrace."})
file:write_file("rebar3.crashdump", io_lib:fwrite("~p: ~p~n~p~n~n~p", [C, T, erlang:get_stacktrace(), State0])),
throw({error, "Failed creating providers. Run with DEBUG=1 for stacktrace rebar3.crashdump."})
end.
to_list(#state_t{} = State) ->

Loading…
取消
儲存