#include <string>
#include "lldb/Breakpoint/Breakpoint.h"
#include "lldb/Breakpoint/BreakpointLocation.h"
#include "lldb/Breakpoint/StoppointCallbackContext.h"
#include "lldb/Breakpoint/Watchpoint.h"
#include "lldb/Breakpoint/WatchpointResource.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/ValueObject.h"
#include "lldb/Expression/UserExpression.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/StopInfo.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/Thread.h"
#include "lldb/Target/ThreadPlan.h"
#include "lldb/Target/ThreadPlanStepInstruction.h"
#include "lldb/Target/UnixSignals.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/StreamString.h"
usingnamespacelldb;
usingnamespacelldb_private;
StopInfo::StopInfo(Thread &thread, uint64_t value)
: … { … }
bool StopInfo::IsValid() const { … }
void StopInfo::MakeStopInfoValid() { … }
bool StopInfo::HasTargetRunSinceMe() { … }
namespace lldb_private {
class StopInfoBreakpoint : public StopInfo { … };
class StopInfoWatchpoint : public StopInfo { … };
class StopInfoUnixSignal : public StopInfo { … };
class StopInfoInterrupt : public StopInfo { … };
class StopInfoTrace : public StopInfo { … };
class StopInfoException : public StopInfo { … };
class StopInfoProcessorTrace : public StopInfo { … };
class StopInfoThreadPlan : public StopInfo { … };
class StopInfoExec : public StopInfo { … };
class StopInfoFork : public StopInfo { … };
class StopInfoVFork : public StopInfo { … };
class StopInfoVForkDone : public StopInfo { … };
}
StopInfoSP StopInfo::CreateStopReasonWithBreakpointSiteID(Thread &thread,
break_id_t break_id) { … }
StopInfoSP StopInfo::CreateStopReasonWithBreakpointSiteID(Thread &thread,
break_id_t break_id,
bool should_stop) { … }
StopInfoSP StopInfo::CreateStopReasonWithWatchpointID(Thread &thread,
break_id_t watch_id,
bool silently_continue) { … }
StopInfoSP StopInfo::CreateStopReasonWithSignal(Thread &thread, int signo,
const char *description,
std::optional<int> code) { … }
StopInfoSP StopInfo::CreateStopReasonWithInterrupt(Thread &thread, int signo,
const char *description) { … }
StopInfoSP StopInfo::CreateStopReasonToTrace(Thread &thread) { … }
StopInfoSP StopInfo::CreateStopReasonWithPlan(
ThreadPlanSP &plan_sp, ValueObjectSP return_valobj_sp,
ExpressionVariableSP expression_variable_sp) { … }
StopInfoSP StopInfo::CreateStopReasonWithException(Thread &thread,
const char *description) { … }
StopInfoSP StopInfo::CreateStopReasonProcessorTrace(Thread &thread,
const char *description) { … }
StopInfoSP StopInfo::CreateStopReasonWithExec(Thread &thread) { … }
StopInfoSP StopInfo::CreateStopReasonFork(Thread &thread,
lldb::pid_t child_pid,
lldb::tid_t child_tid) { … }
StopInfoSP StopInfo::CreateStopReasonVFork(Thread &thread,
lldb::pid_t child_pid,
lldb::tid_t child_tid) { … }
StopInfoSP StopInfo::CreateStopReasonVForkDone(Thread &thread) { … }
ValueObjectSP StopInfo::GetReturnValueObject(StopInfoSP &stop_info_sp) { … }
ExpressionVariableSP StopInfo::GetExpressionVariable(StopInfoSP &stop_info_sp) { … }
lldb::ValueObjectSP
StopInfo::GetCrashingDereference(StopInfoSP &stop_info_sp,
lldb::addr_t *crashing_address) { … }