//===-- NativeProcessSoftwareSingleStep.h -----------------------*- C++ -*-===// // // 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 // //===----------------------------------------------------------------------===// #ifndef LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEPROCESSSOFTWARESINGLESTEP_H #define LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEPROCESSSOFTWARESINGLESTEP_H #include "lldb/Host/common/NativeProcessProtocol.h" #include "lldb/Host/common/NativeThreadProtocol.h" #include #include namespace lldb_private { class NativeProcessSoftwareSingleStep { public: Status SetupSoftwareSingleStepping(NativeThreadProtocol &thread); protected: // List of thread ids stepping with a breakpoint with the address of // next PC candidates. std::map> m_threads_stepping_with_breakpoint; // The list of stepping breakpoints. std::set m_step_breakpoints; }; } // namespace lldb_private #endif // LLDB_SOURCE_PLUGINS_PROCESS_UTILITY_NATIVEPROCESSSOFTWARESINGLESTEP_H