diff options
-rw-r--r-- | lib/debugger/src/dbg_ieval.erl | 10 | ||||
-rw-r--r-- | lib/debugger/src/int.erl | 5 |
2 files changed, 7 insertions, 8 deletions
diff --git a/lib/debugger/src/dbg_ieval.erl b/lib/debugger/src/dbg_ieval.erl index 2080643bb9..d1d52a39ca 100644 --- a/lib/debugger/src/dbg_ieval.erl +++ b/lib/debugger/src/dbg_ieval.erl @@ -505,12 +505,12 @@ lambda(Fun, As) when is_function(Fun) -> %% ... and the fun was defined in interpreted code {module, ?MODULE} -> - {Mod,Name,Bs} = + {Mod,Name,Bs, Cs} = case erlang:fun_info(Fun, env) of - {env,[{{M,F},Bs0,Cs}]} -> - {M,F,Bs0}; - {env,[{{M,F},Bs0,Cs,FName}]} -> - {M,F,add_binding(FName, Fun, Bs0)} + {env,[{{M,F},Bs0,Cs0}]} -> + {M,F,Bs0, Cs0}; + {env,[{{M,F},Bs0,Cs0,FName}]} -> + {M,F,add_binding(FName, Fun, Bs0), Cs0} end, {arity, Arity} = erlang:fun_info(Fun, arity), if diff --git a/lib/debugger/src/int.erl b/lib/debugger/src/int.erl index bdd671cff1..2755db64b8 100644 --- a/lib/debugger/src/int.erl +++ b/lib/debugger/src/int.erl @@ -630,14 +630,13 @@ find_beam(Mod, Src) -> File = filename:join(SrcDir, BeamFile), case is_file(File) of true -> File; - false -> find_beam_1(Mod, BeamFile, SrcDir) + false -> find_beam_1(BeamFile, SrcDir) end. -find_beam_1(Mod, BeamFile, SrcDir) -> +find_beam_1(BeamFile, SrcDir) -> RootDir = filename:dirname(SrcDir), EbinDir = filename:join(RootDir, "ebin"), CodePath = [EbinDir | code:get_path()], - BeamFile = atom_to_list(Mod) ++ code:objfile_extension(), lists:foldl(fun(_, Beam) when is_list(Beam) -> Beam; (Dir, error) -> File = filename:join(Dir, BeamFile), |