Skip to content

Commit 8ba803c

Browse files
committed
Log DAP responses and events
1 parent ccbeb17 commit 8ba803c

File tree

1 file changed

+34
-24
lines changed

1 file changed

+34
-24
lines changed

crates/ark/src/dap/dap_server.rs

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -277,31 +277,39 @@ impl<R: Read, W: Write> DapServer<R, W> {
277277
true
278278
}
279279

280+
fn respond(&mut self, rsp: Response) {
281+
log::trace!("DAP: Responding to request: {rsp:#?}");
282+
self.server.respond(rsp).unwrap();
283+
}
284+
285+
fn send_event(&mut self, event: Event) {
286+
log::trace!("DAP: Sending event: {event:#?}");
287+
self.server.send_event(event).unwrap();
288+
}
289+
280290
fn handle_initialize(&mut self, req: Request, _args: InitializeArguments) {
281291
let rsp = req.success(ResponseBody::Initialize(types::Capabilities {
282292
supports_restart_request: Some(true),
283293
..Default::default()
284294
}));
285-
self.server.respond(rsp).unwrap();
295+
self.respond(rsp);
286296

287-
self.server.send_event(Event::Initialized).unwrap();
297+
self.send_event(Event::Initialized);
288298
}
289299

290300
fn handle_attach(&mut self, req: Request, _args: AttachRequestArguments) {
291301
let rsp = req.success(ResponseBody::Attach);
292-
self.server.respond(rsp).unwrap();
293-
294-
self.server
295-
.send_event(Event::Stopped(StoppedEventBody {
296-
reason: StoppedEventReason::Step,
297-
description: Some(String::from("Execution paused")),
298-
thread_id: Some(THREAD_ID),
299-
preserve_focus_hint: Some(false),
300-
text: None,
301-
all_threads_stopped: None,
302-
hit_breakpoint_ids: None,
303-
}))
304-
.unwrap();
302+
self.respond(rsp);
303+
304+
self.send_event(Event::Stopped(StoppedEventBody {
305+
reason: StoppedEventReason::Step,
306+
description: Some(String::from("Execution paused")),
307+
thread_id: Some(THREAD_ID),
308+
preserve_focus_hint: Some(false),
309+
text: None,
310+
all_threads_stopped: None,
311+
hit_breakpoint_ids: None,
312+
}))
305313
}
306314

307315
fn handle_disconnect(&mut self, req: Request, _args: DisconnectArguments) {
@@ -312,7 +320,7 @@ impl<R: Read, W: Write> DapServer<R, W> {
312320
}
313321

314322
let rsp = req.success(ResponseBody::Disconnect);
315-
self.server.respond(rsp).unwrap();
323+
self.respond(rsp);
316324
}
317325

318326
fn handle_restart<T>(&mut self, req: Request, _args: T) {
@@ -324,7 +332,7 @@ impl<R: Read, W: Write> DapServer<R, W> {
324332
}
325333

326334
let rsp = req.success(ResponseBody::Restart);
327-
self.server.respond(rsp).unwrap();
335+
self.respond(rsp);
328336
}
329337

330338
// All servers must respond to `Threads` requests, possibly with
@@ -336,7 +344,7 @@ impl<R: Read, W: Write> DapServer<R, W> {
336344
name: String::from("Main thread"),
337345
}],
338346
}));
339-
self.server.respond(rsp).unwrap();
347+
self.respond(rsp);
340348
}
341349

342350
fn handle_set_exception_breakpoints(
@@ -349,7 +357,7 @@ impl<R: Read, W: Write> DapServer<R, W> {
349357
breakpoints: None, // TODO
350358
},
351359
));
352-
self.server.respond(rsp).unwrap();
360+
self.respond(rsp);
353361
}
354362

355363
fn handle_stacktrace(&mut self, req: Request, args: StackTraceArguments) {
@@ -385,14 +393,15 @@ impl<R: Read, W: Write> DapServer<R, W> {
385393
total_frames: Some(n),
386394
}));
387395

388-
self.server.respond(rsp).unwrap();
396+
drop(state);
397+
self.respond(rsp);
389398
}
390399

391400
fn handle_source(&mut self, req: Request, _args: SourceArguments) {
392401
let message = "Unsupported `source` request: {req:?}";
393402
log::error!("{message}");
394403
let rsp = req.error(message);
395-
self.server.respond(rsp).unwrap();
404+
self.respond(rsp);
396405
}
397406

398407
fn handle_scopes(&mut self, req: Request, args: ScopesArguments) {
@@ -424,15 +433,16 @@ impl<R: Read, W: Write> DapServer<R, W> {
424433

425434
let rsp = req.success(ResponseBody::Scopes(ScopesResponse { scopes }));
426435

427-
self.server.respond(rsp).unwrap();
436+
drop(state);
437+
self.respond(rsp);
428438
}
429439

430440
fn handle_variables(&mut self, req: Request, args: VariablesArguments) {
431441
let variables_reference = args.variables_reference;
432442
let variables = self.collect_r_variables(variables_reference);
433443
let variables = self.into_variables(variables);
434444
let rsp = req.success(ResponseBody::Variables(VariablesResponse { variables }));
435-
self.server.respond(rsp).unwrap();
445+
self.respond(rsp);
436446
}
437447

438448
fn collect_r_variables(&self, variables_reference: i64) -> Vec<RVariable> {
@@ -496,7 +506,7 @@ impl<R: Read, W: Write> DapServer<R, W> {
496506
fn handle_step<A>(&mut self, req: Request, _args: A, cmd: DebugRequest, resp: ResponseBody) {
497507
self.send_command(cmd);
498508
let rsp = req.success(resp);
499-
self.server.respond(rsp).unwrap();
509+
self.respond(rsp);
500510
}
501511

502512
fn send_command(&mut self, cmd: DebugRequest) {

0 commit comments

Comments
 (0)