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