xref: /llvm-project/lldb/tools/lldb-dap/InstructionBreakpoint.h (revision b99d4112585302cbd01f9b851a04adc6e4fb5218)
189c27d6bSSanthosh Kumar Ellendula //===-- InstructionBreakpoint.h --------------------------------------*- C++
289c27d6bSSanthosh Kumar Ellendula //-*-===//
389c27d6bSSanthosh Kumar Ellendula //
489c27d6bSSanthosh Kumar Ellendula // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
589c27d6bSSanthosh Kumar Ellendula // See https://llvm.org/LICENSE.txt for license information.
689c27d6bSSanthosh Kumar Ellendula // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
789c27d6bSSanthosh Kumar Ellendula //
889c27d6bSSanthosh Kumar Ellendula //===----------------------------------------------------------------------===//
989c27d6bSSanthosh Kumar Ellendula 
1089c27d6bSSanthosh Kumar Ellendula #ifndef LLDB_TOOLS_LLDB_DAP_INSTRUCTIONBREAKPOINT_H
1189c27d6bSSanthosh Kumar Ellendula #define LLDB_TOOLS_LLDB_DAP_INSTRUCTIONBREAKPOINT_H
1289c27d6bSSanthosh Kumar Ellendula 
1389c27d6bSSanthosh Kumar Ellendula #include "Breakpoint.h"
14*b99d4112SJohn Harrison #include "DAPForward.h"
15*b99d4112SJohn Harrison #include "lldb/lldb-types.h"
16*b99d4112SJohn Harrison #include <cstdint>
1789c27d6bSSanthosh Kumar Ellendula 
1889c27d6bSSanthosh Kumar Ellendula namespace lldb_dap {
1989c27d6bSSanthosh Kumar Ellendula 
2089c27d6bSSanthosh Kumar Ellendula // Instruction Breakpoint
2189c27d6bSSanthosh Kumar Ellendula struct InstructionBreakpoint : public Breakpoint {
2289c27d6bSSanthosh Kumar Ellendula 
2389c27d6bSSanthosh Kumar Ellendula   lldb::addr_t instructionAddressReference;
2489c27d6bSSanthosh Kumar Ellendula   int32_t offset;
2589c27d6bSSanthosh Kumar Ellendula 
26*b99d4112SJohn Harrison   InstructionBreakpoint(DAP &d, const llvm::json::Object &obj);
2789c27d6bSSanthosh Kumar Ellendula 
2889c27d6bSSanthosh Kumar Ellendula   // Set instruction breakpoint in LLDB as a new breakpoint
29*b99d4112SJohn Harrison   void SetBreakpoint();
3089c27d6bSSanthosh Kumar Ellendula };
3189c27d6bSSanthosh Kumar Ellendula 
3289c27d6bSSanthosh Kumar Ellendula } // namespace lldb_dap
3389c27d6bSSanthosh Kumar Ellendula 
3489c27d6bSSanthosh Kumar Ellendula #endif
35