Skip to content

Commit 135447c

Browse files
committed
fix debugger crash when stackframe does not have args
1 parent f6b6f72 commit 135447c

File tree

1 file changed

+10
-8
lines changed
  • apps/elixir_ls_debugger/lib/debugger

1 file changed

+10
-8
lines changed

apps/elixir_ls_debugger/lib/debugger/server.ex

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1108,13 +1108,15 @@ defmodule ElixirLS.Debugger.Server do
11081108
"expensive" => false
11091109
}
11101110

1111-
args_scope = %{
1112-
"name" => "arguments",
1113-
"variablesReference" => args_id,
1114-
"namedVariables" => 0,
1115-
"indexedVariables" => Enum.count(frame.args),
1116-
"expensive" => false
1117-
}
1111+
args_scope = if frame.args != :undefined do
1112+
%{
1113+
"name" => "arguments",
1114+
"variablesReference" => args_id,
1115+
"namedVariables" => 0,
1116+
"indexedVariables" => Enum.count(frame.args),
1117+
"expensive" => false
1118+
}
1119+
end
11181120

11191121
messages_scope = %{
11201122
"name" => "messages",
@@ -1134,7 +1136,7 @@ defmodule ElixirLS.Debugger.Server do
11341136

11351137
scopes =
11361138
[vars_scope, versioned_vars_scope, process_info_scope]
1137-
|> Kernel.++(if Enum.count(frame.args) > 0, do: [args_scope], else: [])
1139+
|> Kernel.++(if frame.args != :undefined and Enum.count(frame.args) > 0, do: [args_scope], else: [])
11381140
|> Kernel.++(if Enum.count(frame.messages) > 0, do: [messages_scope], else: [])
11391141

11401142
{state, scopes}

0 commit comments

Comments
 (0)