//===-- BreakpointLocation.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_BREAKPOINTLOCATION_H #define LLDB_BREAKPOINT_BREAKPOINTLOCATION_H #include <memory> #include <mutex> #include "lldb/Breakpoint/BreakpointOptions.h" #include "lldb/Breakpoint/StoppointHitCounter.h" #include "lldb/Core/Address.h" #include "lldb/Utility/UserID.h" #include "lldb/lldb-private.h" namespace lldb_private { /// \class BreakpointLocation BreakpointLocation.h /// "lldb/Breakpoint/BreakpointLocation.h" Class that manages one unique (by /// address) instance of a logical breakpoint. /// General Outline: /// A breakpoint location is defined by the breakpoint that produces it, /// and the address that resulted in this particular instantiation. Each /// breakpoint location also may have a breakpoint site if its address has /// been loaded into the program. Finally it has a settable options object. /// /// FIXME: Should we also store some fingerprint for the location, so /// we can map one location to the "equivalent location" on rerun? This would /// be useful if you've set options on the locations. class BreakpointLocation : public std::enable_shared_from_this<BreakpointLocation> { … }; } // namespace lldb_private #endif // LLDB_BREAKPOINT_BREAKPOINTLOCATION_H