#include "llvm/Support/Casting.h"
#include "lldb/Breakpoint/Breakpoint.h"
#include "lldb/Breakpoint/BreakpointLocation.h"
#include "lldb/Breakpoint/BreakpointLocationCollection.h"
#include "lldb/Breakpoint/BreakpointPrecondition.h"
#include "lldb/Breakpoint/BreakpointResolver.h"
#include "lldb/Breakpoint/BreakpointResolverFileLine.h"
#include "lldb/Core/Address.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ModuleList.h"
#include "lldb/Core/SearchFilter.h"
#include "lldb/Core/Section.h"
#include "lldb/Symbol/CompileUnit.h"
#include "lldb/Symbol/Function.h"
#include "lldb/Symbol/Symbol.h"
#include "lldb/Symbol/SymbolContext.h"
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/ThreadSpec.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Stream.h"
#include "lldb/Utility/StreamString.h"
#include <memory>
usingnamespacelldb;
usingnamespacelldb_private;
usingnamespacellvm;
const char *Breakpoint::g_option_names[static_cast<uint32_t>(
Breakpoint::OptionNames::LastOptionName)]{ … };
Breakpoint::Breakpoint(Target &target, SearchFilterSP &filter_sp,
BreakpointResolverSP &resolver_sp, bool hardware,
bool resolve_indirect_symbols)
: … { … }
Breakpoint::Breakpoint(Target &new_target, const Breakpoint &source_bp)
: … { … }
Breakpoint::~Breakpoint() = default;
BreakpointSP Breakpoint::CopyFromBreakpoint(TargetSP new_target,
const Breakpoint& bp_to_copy_from) { … }
StructuredData::ObjectSP Breakpoint::SerializeToStructuredData() { … }
lldb::BreakpointSP Breakpoint::CreateFromStructuredData(
TargetSP target_sp, StructuredData::ObjectSP &object_data, Status &error) { … }
bool Breakpoint::SerializedBreakpointMatchesNames(
StructuredData::ObjectSP &bkpt_object_sp, std::vector<std::string> &names) { … }
const lldb::TargetSP Breakpoint::GetTargetSP() { … }
bool Breakpoint::IsInternal() const { … }
BreakpointLocationSP Breakpoint::AddLocation(const Address &addr,
bool *new_location) { … }
BreakpointLocationSP Breakpoint::FindLocationByAddress(const Address &addr) { … }
break_id_t Breakpoint::FindLocationIDByAddress(const Address &addr) { … }
BreakpointLocationSP Breakpoint::FindLocationByID(break_id_t bp_loc_id) { … }
BreakpointLocationSP Breakpoint::GetLocationAtIndex(size_t index) { … }
void Breakpoint::RemoveInvalidLocations(const ArchSpec &arch) { … }
void Breakpoint::SetEnabled(bool enable) { … }
bool Breakpoint::IsEnabled() { … }
void Breakpoint::SetIgnoreCount(uint32_t n) { … }
void Breakpoint::DecrementIgnoreCount() { … }
uint32_t Breakpoint::GetIgnoreCount() const { … }
uint32_t Breakpoint::GetHitCount() const { … }
void Breakpoint::ResetHitCount() { … }
bool Breakpoint::IsOneShot() const { … }
void Breakpoint::SetOneShot(bool one_shot) { … }
bool Breakpoint::IsAutoContinue() const { … }
void Breakpoint::SetAutoContinue(bool auto_continue) { … }
void Breakpoint::SetThreadID(lldb::tid_t thread_id) { … }
lldb::tid_t Breakpoint::GetThreadID() const { … }
void Breakpoint::SetThreadIndex(uint32_t index) { … }
uint32_t Breakpoint::GetThreadIndex() const { … }
void Breakpoint::SetThreadName(const char *thread_name) { … }
const char *Breakpoint::GetThreadName() const { … }
void Breakpoint::SetQueueName(const char *queue_name) { … }
const char *Breakpoint::GetQueueName() const { … }
void Breakpoint::SetCondition(const char *condition) { … }
const char *Breakpoint::GetConditionText() const { … }
void Breakpoint::SetCallback(BreakpointHitCallback callback, void *baton,
bool is_synchronous) { … }
void Breakpoint::SetCallback(BreakpointHitCallback callback,
const BatonSP &callback_baton_sp,
bool is_synchronous) { … }
void Breakpoint::ClearCallback() { … }
bool Breakpoint::InvokeCallback(StoppointCallbackContext *context,
break_id_t bp_loc_id) { … }
BreakpointOptions &Breakpoint::GetOptions() { … }
const BreakpointOptions &Breakpoint::GetOptions() const { … }
void Breakpoint::ResolveBreakpoint() { … }
void Breakpoint::ResolveBreakpointInModules(
ModuleList &module_list, BreakpointLocationCollection &new_locations) { … }
void Breakpoint::ResolveBreakpointInModules(ModuleList &module_list,
bool send_event) { … }
void Breakpoint::ClearAllBreakpointSites() { … }
void Breakpoint::ModulesChanged(ModuleList &module_list, bool load,
bool delete_locations) { … }
static bool SymbolContextsMightBeEquivalent(SymbolContext &old_sc,
SymbolContext &new_sc) { … }
void Breakpoint::ModuleReplaced(ModuleSP old_module_sp,
ModuleSP new_module_sp) { … }
void Breakpoint::Dump(Stream *) { … }
size_t Breakpoint::GetNumResolvedLocations() const { … }
bool Breakpoint::HasResolvedLocations() const { … }
size_t Breakpoint::GetNumLocations() const { … }
void Breakpoint::AddName(llvm::StringRef new_name) { … }
void Breakpoint::GetDescription(Stream *s, lldb::DescriptionLevel level,
bool show_locations) { … }
void Breakpoint::GetResolverDescription(Stream *s) { … }
bool Breakpoint::GetMatchingFileLine(ConstString filename,
uint32_t line_number,
BreakpointLocationCollection &loc_coll) { … }
void Breakpoint::GetFilterDescription(Stream *s) { … }
bool Breakpoint::EvaluatePrecondition(StoppointCallbackContext &context) { … }
void Breakpoint::SendBreakpointChangedEvent(
lldb::BreakpointEventType eventKind) { … }
void Breakpoint::SendBreakpointChangedEvent(
const lldb::EventDataSP &breakpoint_data_sp) { … }
const char *Breakpoint::BreakpointEventTypeAsCString(BreakpointEventType type) { … }
Log *Breakpoint::BreakpointEventData::GetLogChannel() { … }
Breakpoint::BreakpointEventData::BreakpointEventData(
BreakpointEventType sub_type, const BreakpointSP &new_breakpoint_sp)
: … { … }
Breakpoint::BreakpointEventData::~BreakpointEventData() = default;
llvm::StringRef Breakpoint::BreakpointEventData::GetFlavorString() { … }
llvm::StringRef Breakpoint::BreakpointEventData::GetFlavor() const { … }
BreakpointSP Breakpoint::BreakpointEventData::GetBreakpoint() const { … }
BreakpointEventType
Breakpoint::BreakpointEventData::GetBreakpointEventType() const { … }
void Breakpoint::BreakpointEventData::Dump(Stream *s) const { … }
const Breakpoint::BreakpointEventData *
Breakpoint::BreakpointEventData::GetEventDataFromEvent(const Event *event) { … }
BreakpointEventType
Breakpoint::BreakpointEventData::GetBreakpointEventTypeFromEvent(
const EventSP &event_sp) { … }
BreakpointSP Breakpoint::BreakpointEventData::GetBreakpointFromEvent(
const EventSP &event_sp) { … }
size_t Breakpoint::BreakpointEventData::GetNumBreakpointLocationsFromEvent(
const EventSP &event_sp) { … }
lldb::BreakpointLocationSP
Breakpoint::BreakpointEventData::GetBreakpointLocationAtIndexFromEvent(
const lldb::EventSP &event_sp, uint32_t bp_loc_idx) { … }
json::Value Breakpoint::GetStatistics() { … }