()
| 1464 | this.disconnectingPromise = new Promise<void>(async (resolve) => { |
| 1465 | this.serverConsoleLog('Begin disconnectRequest'); |
| 1466 | const doDisconnectProcessing = async () => { |
| 1467 | if (this.miLiveGdb) { |
| 1468 | this.miLiveGdb.quit(); |
| 1469 | await new Promise((resolve) => setTimeout(resolve, 100)); |
| 1470 | } |
| 1471 | await this.tryDeleteBreakpoints(); |
| 1472 | this.disableSendStoppedEvents = false; |
| 1473 | this.attached = false; |
| 1474 | this.waitForServerExitAndRespond(response); // Will wait asynchronously until the following actions are done |
| 1475 | if (args.terminateDebuggee || args.suspendDebuggee) { |
| 1476 | // There is no such thing as terminate for us. Hopefully, the gdb-server will |
| 1477 | // do the right thing and remain in halted state |
| 1478 | this.miDebugger.stop(); |
| 1479 | } else { |
| 1480 | // If the gdb-server behaves like gdb (and us) expects it do, then the program |
| 1481 | // should continue |
| 1482 | this.miDebugger.detach(); |
| 1483 | } |
| 1484 | resolve(); |
| 1485 | }; |
| 1486 | |
| 1487 | if (this.miDebugger) { |
| 1488 | this.disableSendStoppedEvents = true; |
nothing calls this directly
no test coverage detected