瀏覽代碼

Get stacktrace only once and as soon as possible. Fixes #1347.

It turns out that pretty-printing uses throw-catch and thus garbages out
the stack trace sometimes, so we should get it only once.
pull/1351/head
Alexander Sedov 8 年之前
父節點
當前提交
294fd72f4d
共有 1 個文件被更改,包括 3 次插入2 次删除
  1. +3
    -2
      src/rebar3.erl

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

@ -286,10 +286,11 @@ handle_error({error, Error}) when is_list(Error) ->
handle_error(Error) ->
%% Nothing should percolate up from rebar_core;
%% Dump this error to console
?CRASHDUMP("Error: ~p~n~p~n~n", [Error, erlang:get_stacktrace()]),
StackTrace = erlang:get_stacktrace(),
?CRASHDUMP("Error: ~p~n~p~n~n", [Error, 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
case StackTrace of
[] -> ok;
Trace ->
?DEBUG("Stack trace to the error location:~n~p", [Trace])

Loading…
取消
儲存