MCPcopy Create free account
hub / github.com/Marus/cortex-debug / disassembleProtocolRequest

Method disassembleProtocolRequest

src/backend/disasm.ts:615–643  ·  view source on GitHub ↗
(
        response: DebugProtocol.DisassembleResponse,
        args: DebugProtocol.DisassembleArguments,
        request?: DebugProtocol.Request)

Source from the content-addressed store, hash-verified

613 // valid.
614 //
615 public disassembleProtocolRequest(
616 response: DebugProtocol.DisassembleResponse,
617 args: DebugProtocol.DisassembleArguments,
618 request?: DebugProtocol.Request): Promise<void>
619 {
620 if (args.memoryReference === undefined) {
621 // This is our own request.
622 return this.customDisassembleRequest(response, args);
623 }
624 const seq = request?.seq;
625 return new Promise((resolve, reject) => {
626 if (GdbDisassembler.debug) {
627 this.handleMsg('log', `Debug-${seq}: Enqueuing ${JSON.stringify(request)}\n`);
628 }
629 const req: DisasmRequest = {
630 response: response,
631 args: args,
632 request: request,
633 resolve: resolve,
634 reject: reject
635 };
636 this.disasmRequestQueue.push(req);
637 if (!this.disasmBusy) {
638 this.runDisasmRequest();
639 } else if (this.doTiming) {
640 this.handleMsg('log', `Debug-${seq}: ******** Waiting for previous request to complete\n`);
641 }
642 });
643 }
644
645 // VSCode as a client, frequently makes duplicate requests, back to back before results for the first one are ready
646 // As a result, older results are not in cache yet, we end up doing work that was not needed. It also happens

Callers 1

disassembleRequestMethod · 0.80

Calls 3

handleMsgMethod · 0.95
runDisasmRequestMethod · 0.95

Tested by

no test coverage detected