//===-- BreakpointSite.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_BREAKPOINT_BREAKPOINTSITE_H #define LLDB_BREAKPOINT_BREAKPOINTSITE_H #include <list> #include <mutex> #include "lldb/Breakpoint/BreakpointLocationCollection.h" #include "lldb/Breakpoint/StoppointSite.h" #include "lldb/Utility/LLDBAssert.h" #include "lldb/Utility/UserID.h" #include "lldb/lldb-forward.h" namespace lldb_private { /// \class BreakpointSite BreakpointSite.h "lldb/Breakpoint/BreakpointSite.h" /// Class that manages the actual breakpoint that will be inserted into the /// running program. /// /// The BreakpointSite class handles the physical breakpoint that is actually /// inserted in the target program. As such, it is also the one that gets /// hit, when the program stops. It keeps a list of all BreakpointLocations /// that share this physical site. When the breakpoint is hit, all the /// locations are informed by the breakpoint site. Breakpoint sites are owned /// by the process. class BreakpointSite : public std::enable_shared_from_this<BreakpointSite>, public StoppointSite { … }; } // namespace lldb_private #endif // LLDB_BREAKPOINT_BREAKPOINTSITE_H