Skip to content

Commit aa8c8a6

Browse files
author
Ruby
committed
support config.rdbgInitialScripts
for future extensions. And rename: * `load_rdbgExtension` -> `load_extensions` * `config.rdbgExtension` -> `config.rdbgExtensions`
1 parent 3becfa1 commit aa8c8a6

File tree

2 files changed

+29
-18
lines changed

2 files changed

+29
-18
lines changed

lib/debug/server_dap.rb

+15-4
Original file line numberDiff line numberDiff line change
@@ -274,12 +274,23 @@ def recv_request
274274
retry
275275
end
276276

277-
def load_rdbgExtension req
278-
if exts = req.dig('arguments', 'rdbgExtension')
277+
def load_extensions req
278+
if exts = req.dig('arguments', 'rdbgExtensions')
279279
exts.each{|ext|
280280
require_relative "dap_custom/#{File.basename(ext)}"
281281
}
282282
end
283+
284+
if scripts = req.dig('arguments', 'rdbgInitialScripts')
285+
scripts.each do |script|
286+
begin
287+
eval(script)
288+
rescue Exception => e
289+
puts e.message
290+
puts e.backtrace.inspect
291+
end
292+
end
293+
end
283294
end
284295

285296
def process
@@ -303,7 +314,7 @@ def process_request req
303314
UI_DAP.local_fs_map_set req.dig('arguments', 'localfs') || req.dig('arguments', 'localfsMap') || true
304315
@nonstop = true
305316

306-
load_rdbgExtension req
317+
load_extensions req
307318

308319
when 'attach'
309320
send_response req
@@ -315,7 +326,7 @@ def process_request req
315326
@nonstop = false
316327
end
317328

318-
load_rdbgExtension req
329+
load_extensions req
319330

320331
when 'configurationDone'
321332
send_response req

test/protocol/rdbgTraceInspctor_test.rb

+14-14
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class RdbgTraceInspectorTraceTest < ProtocolTestCase
1313
RUBY
1414

1515
def test_defaut_setting
16-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtension] = ["traceInspector"]
16+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtensions] = ["traceInspector"]
1717
run_protocol_scenario(PROGRAM, cdp: false) do
1818
req_rdbgTraceInspector_trace_enable
1919
req_add_breakpoint 5
@@ -43,11 +43,11 @@ def test_defaut_setting
4343
req_terminate_debuggee
4444
end
4545
ensure
46-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtension
46+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtensions
4747
end
4848

4949
def test_call_event
50-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtension] = ["traceInspector"]
50+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtensions] = ["traceInspector"]
5151
run_protocol_scenario(PROGRAM, cdp: false) do
5252
req_rdbgTraceInspector_trace_enable(events: ['traceCall'])
5353
req_add_breakpoint 5
@@ -65,11 +65,11 @@ def test_call_event
6565
req_terminate_debuggee
6666
end
6767
ensure
68-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtension
68+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtensions
6969
end
7070

7171
def test_return_event
72-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtension] = ["traceInspector"]
72+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtensions] = ["traceInspector"]
7373
run_protocol_scenario(PROGRAM, cdp: false) do
7474
req_rdbgTraceInspector_trace_enable(events: ['traceReturn'])
7575
req_add_breakpoint 5
@@ -88,11 +88,11 @@ def test_return_event
8888
req_terminate_debuggee
8989
end
9090
ensure
91-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtension
91+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtensions
9292
end
9393

9494
def test_line_event
95-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtension] = ["traceInspector"]
95+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtensions] = ["traceInspector"]
9696
run_protocol_scenario(PROGRAM, cdp: false) do
9797
req_rdbgTraceInspector_trace_enable(events: ['traceLine'])
9898
req_add_breakpoint 5
@@ -109,11 +109,11 @@ def test_line_event
109109
req_terminate_debuggee
110110
end
111111
ensure
112-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtension
112+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtensions
113113
end
114114

115115
def test_restart_trace
116-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtension] = ["traceInspector"]
116+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtensions] = ["traceInspector"]
117117
run_protocol_scenario(PROGRAM, cdp: false) do
118118
req_rdbgTraceInspector_trace_enable
119119
req_rdbgTraceInspector_trace_disable
@@ -132,7 +132,7 @@ def test_restart_trace
132132
req_terminate_debuggee
133133
end
134134
ensure
135-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtension
135+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtensions
136136
end
137137
end
138138

@@ -150,7 +150,7 @@ class RdbgTraceInspectorRecordTest < ProtocolTestCase
150150
RUBY
151151

152152
def test_defaut_setting
153-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtension] = ["traceInspector"]
153+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtensions] = ["traceInspector"]
154154
run_protocol_scenario(PROGRAM, cdp: false) do
155155
req_rdbgTraceInspector_record_enable
156156
req_add_breakpoint 5
@@ -178,11 +178,11 @@ def test_defaut_setting
178178
req_terminate_debuggee
179179
end
180180
ensure
181-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtension
181+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtensions
182182
end
183183

184184
def test_restart_trace
185-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtension] = ["traceInspector"]
185+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments][:rdbgExtensions] = ["traceInspector"]
186186
run_protocol_scenario(PROGRAM, cdp: false) do
187187
req_rdbgTraceInspector_record_enable
188188
req_rdbgTraceInspector_record_disable
@@ -212,7 +212,7 @@ def test_restart_trace
212212
req_terminate_debuggee
213213
end
214214
ensure
215-
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtension
215+
DEBUGGER__::INITIALIZE_DAP_MSGS[1][:arguments].delete :rdbgExtensions
216216
end
217217
end
218218
end

0 commit comments

Comments
 (0)