1*af732203SDimitry Andric //===-- NativeProcessSoftwareSingleStep.h -----------------------*- C++ -*-===// 2*af732203SDimitry Andric // 3*af732203SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*af732203SDimitry Andric // See https://llvm.org/LICENSE.txt for license information. 5*af732203SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*af732203SDimitry Andric // 7*af732203SDimitry Andric //===----------------------------------------------------------------------===// 8*af732203SDimitry Andric 9*af732203SDimitry Andric #ifndef lldb_NativeProcessSoftwareSingleStep_h 10*af732203SDimitry Andric #define lldb_NativeProcessSoftwareSingleStep_h 11*af732203SDimitry Andric 12*af732203SDimitry Andric #include "lldb/Host/common/NativeProcessProtocol.h" 13*af732203SDimitry Andric #include "lldb/Host/common/NativeThreadProtocol.h" 14*af732203SDimitry Andric 15*af732203SDimitry Andric #include <map> 16*af732203SDimitry Andric 17*af732203SDimitry Andric namespace lldb_private { 18*af732203SDimitry Andric 19*af732203SDimitry Andric class NativeProcessSoftwareSingleStep { 20*af732203SDimitry Andric public: 21*af732203SDimitry Andric Status SetupSoftwareSingleStepping(NativeThreadProtocol &thread); 22*af732203SDimitry Andric 23*af732203SDimitry Andric protected: 24*af732203SDimitry Andric // List of thread ids stepping with a breakpoint with the address of 25*af732203SDimitry Andric // the relevan breakpoint 26*af732203SDimitry Andric std::map<lldb::tid_t, lldb::addr_t> m_threads_stepping_with_breakpoint; 27*af732203SDimitry Andric }; 28*af732203SDimitry Andric 29*af732203SDimitry Andric } // namespace lldb_private 30*af732203SDimitry Andric 31*af732203SDimitry Andric #endif // #ifndef lldb_NativeProcessSoftwareSingleStep_h 32