Method: DEBUGGER__::DAP_TraceInspector::Custom_Session#process_record_cmd

Defined in:
lib/debug/dap_custom/traceInspector.rb

#process_record_cmd(req) ⇒ Object



195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
# File 'lib/debug/dap_custom/traceInspector.rb', line 195

def process_record_cmd req
  cmd = req.dig('arguments', 'subCommand')
  case cmd
  when 'enable'
    @tc << [:dap, :rdbgTraceInspector, req]
  when 'disable'
    @tc << [:dap, :rdbgTraceInspector, req]
  when 'step'
    tid = req.dig('arguments', 'threadId')
    count = req.dig('arguments', 'count')
    if tc = find_waiting_tc(tid)
      @ui.respond req, {}
      tc << [:step, :in, count]
    else
      fail_response req
    end
  when 'stepBack'
    tid = req.dig('arguments', 'threadId')
    count = req.dig('arguments', 'count')
    if tc = find_waiting_tc(tid)
      @ui.respond req, {}
      tc << [:step, :back, count]
    else
      fail_response req
    end
  when 'collect'
    tid = req.dig('arguments', 'threadId')
    if tc = find_waiting_tc(tid)
      tc << [:dap, :rdbgTraceInspector, req]
    else
      fail_response req
    end
  else
    raise "Unknown record sub command #{cmd}"
  end
end