//===-- PauseRequestHandler.cpp -------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #include "DAP.h" #include "EventHelper.h" #include "JSONUtils.h" #include "RequestHandler.h" namespace lldb_dap { // "PauseRequest": { // "allOf": [ { "$ref": "#/definitions/Request" }, { // "type": "object", // "description": "Pause request; value of command field is 'pause'. The // request suspenses the debuggee. The debug adapter first sends the // PauseResponse and then a StoppedEvent (event type 'pause') after the // thread has been paused successfully.", "properties": { // "command": { // "type": "string", // "enum": [ "pause" ] // }, // "arguments": { // "$ref": "#/definitions/PauseArguments" // } // }, // "required": [ "command", "arguments" ] // }] // }, // "PauseArguments": { // "type": "object", // "description": "Arguments for 'pause' request.", // "properties": { // "threadId": { // "type": "integer", // "description": "Pause execution for this thread." // } // }, // "required": [ "threadId" ] // }, // "PauseResponse": { // "allOf": [ { "$ref": "#/definitions/Response" }, { // "type": "object", // "description": "Response to 'pause' request. This is just an // acknowledgement, so no body field is required." // }] // } void PauseRequestHandler::operator()(const llvm::json::Object &request) const { llvm::json::Object response; FillResponse(request, response); lldb::SBProcess process = dap.target.GetProcess(); lldb::SBError error = process.Stop(); dap.SendJSON(llvm::json::Value(std::move(response))); } } // namespace lldb_dap