aboutsummaryrefslogtreecommitdiffstats
path: root/lib/debugger/src
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2011-02-16 06:54:15 +0100
committerBjörn Gustavsson <[email protected]>2011-08-16 08:58:50 +0200
commitbe04820c070d01d7565b936fa14efc2941055e0b (patch)
tree059e5070b9597c0320e4f9c58ddeb24c30aa9e66 /lib/debugger/src
parent87e639bef1cbe37f63fcd376ec17dc8fca77fe3f (diff)
downloadotp-be04820c070d01d7565b936fa14efc2941055e0b.tar.gz
otp-be04820c070d01d7565b936fa14efc2941055e0b.tar.bz2
otp-be04820c070d01d7565b936fa14efc2941055e0b.zip
emulator: Add a fourth element in exception stacktraces
This commit is a preparation for introducing location information (filename/line number) in stacktraces in exceptions. Currently a stack trace looks like: [{Mod1,Function1,Arity1}, . . . {ModN,FunctionN,ArityN}] Add a forth element to each tuple that can be used indication the filename and line number of the source file: [{Mod1,Function1,Arity1,Location1}, . . . {ModN,FunctionN,ArityN,LocationN}] In this commit, the fourth element will just be an empty list, and we will change all code that look at or manipulate stacktraces.
Diffstat (limited to 'lib/debugger/src')
-rw-r--r--lib/debugger/src/dbg_debugged.erl2
-rw-r--r--lib/debugger/src/dbg_istk.erl4
2 files changed, 3 insertions, 3 deletions
diff --git a/lib/debugger/src/dbg_debugged.erl b/lib/debugger/src/dbg_debugged.erl
index 76ed49fa93..18dcd92ff3 100644
--- a/lib/debugger/src/dbg_debugged.erl
+++ b/lib/debugger/src/dbg_debugged.erl
@@ -117,5 +117,5 @@ demonitor(Mref) ->
%% Fix stacktrace - keep all above call to this module.
%%
stacktrace_f([]) -> [];
-stacktrace_f([{?MODULE,_,_}|_]) -> [];
+stacktrace_f([{?MODULE,_,_,_}|_]) -> [];
stacktrace_f([F|S]) -> [F|stacktrace_f(S)].
diff --git a/lib/debugger/src/dbg_istk.erl b/lib/debugger/src/dbg_istk.erl
index 92dc802da4..e0c4c61333 100644
--- a/lib/debugger/src/dbg_istk.erl
+++ b/lib/debugger/src/dbg_istk.erl
@@ -157,9 +157,9 @@ stacktrace(_, _, Acc) ->
lists:reverse(Acc).
normalize(#e{mfa={_,Fun,As}}) when is_function(Fun) ->
- {{Fun,length(As)},{Fun,As}};
+ {{Fun,length(As),[]},{Fun,As,[]}};
normalize(#e{mfa={M,F,As}}) ->
- {{M,F,length(As)},{M,F,As}}.
+ {{M,F,length(As),[]},{M,F,As,[]}}.
%% bindings(SP) -> Bs
%% SP = Le % stack pointer