File tree Expand file tree Collapse file tree 1 file changed +27
-9
lines changed
apps/debug_adapter/lib/debug_adapter Expand file tree Collapse file tree 1 file changed +27
-9
lines changed Original file line number Diff line number Diff line change @@ -24,9 +24,15 @@ defmodule ElixirLS.DebugAdapter.Variables do
24
24
def child_type ( var ) when is_function ( var ) , do: :named
25
25
26
26
def child_type ( var ) when is_pid ( var ) do
27
- case :erlang . process_info ( var ) do
28
- :undefined -> :indexed
29
- _results -> :named
27
+ try do
28
+ case :erlang . process_info ( var ) do
29
+ :undefined -> :indexed
30
+ _results -> :named
31
+ end
32
+ rescue
33
+ ArgumentError ->
34
+ # remote pid
35
+ :indexed
30
36
end
31
37
end
32
38
@@ -111,9 +117,15 @@ defmodule ElixirLS.DebugAdapter.Variables do
111
117
end
112
118
113
119
def children ( var , start , count ) when is_pid ( var ) do
114
- case :erlang . process_info ( var ) do
115
- :undefined -> [ "process is not alive" ]
116
- results -> results
120
+ try do
121
+ case :erlang . process_info ( var ) do
122
+ :undefined -> [ "process is not alive" ]
123
+ results -> results
124
+ end
125
+ rescue
126
+ ArgumentError ->
127
+ # remote pid
128
+ [ "remote process" ]
117
129
end
118
130
|> children ( start , count )
119
131
end
@@ -159,9 +171,15 @@ defmodule ElixirLS.DebugAdapter.Variables do
159
171
end
160
172
161
173
def num_children ( var ) when is_pid ( var ) do
162
- case :erlang . process_info ( var ) do
163
- :undefined -> 1
164
- results -> results |> Enum . count ( )
174
+ try do
175
+ case :erlang . process_info ( var ) do
176
+ :undefined -> 1
177
+ results -> results |> Enum . count ( )
178
+ end
179
+ rescue
180
+ ArgumentError ->
181
+ # remote pid
182
+ 1
165
183
end
166
184
end
167
185
You can’t perform that action at this time.
0 commit comments