LLDB  mainline
Classes | Enumerations | Functions | Variables
Thread.cpp File Reference
#include "lldb/Target/Thread.h"
#include "Plugins/Process/Utility/UnwindLLDB.h"
#include "Plugins/Process/Utility/UnwindMacOSXFrameBackchain.h"
#include "lldb/Breakpoint/BreakpointLocation.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/FormatEntity.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ValueObject.h"
#include "lldb/Host/Host.h"
#include "lldb/Interpreter/OptionValueFileSpecList.h"
#include "lldb/Interpreter/OptionValueProperties.h"
#include "lldb/Interpreter/Property.h"
#include "lldb/Symbol/Function.h"
#include "lldb/Target/ABI.h"
#include "lldb/Target/DynamicLoader.h"
#include "lldb/Target/ExecutionContext.h"
#include "lldb/Target/ObjCLanguageRuntime.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/StackFrameRecognizer.h"
#include "lldb/Target/StopInfo.h"
#include "lldb/Target/SystemRuntime.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/ThreadPlan.h"
#include "lldb/Target/ThreadPlanBase.h"
#include "lldb/Target/ThreadPlanCallFunction.h"
#include "lldb/Target/ThreadPlanPython.h"
#include "lldb/Target/ThreadPlanRunToAddress.h"
#include "lldb/Target/ThreadPlanStepInRange.h"
#include "lldb/Target/ThreadPlanStepInstruction.h"
#include "lldb/Target/ThreadPlanStepOut.h"
#include "lldb/Target/ThreadPlanStepOverBreakpoint.h"
#include "lldb/Target/ThreadPlanStepOverRange.h"
#include "lldb/Target/ThreadPlanStepThrough.h"
#include "lldb/Target/ThreadPlanStepUntil.h"
#include "lldb/Target/ThreadSpec.h"
#include "lldb/Target/Unwind.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/RegularExpression.h"
#include "lldb/Utility/State.h"
#include "lldb/Utility/Stream.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/lldb-enumerations.h"
#include <memory>
Include dependency graph for Thread.cpp:

Go to the source code of this file.

Classes

class  ThreadOptionValueProperties
 

Enumerations

enum  {
  ePropertyStepInAvoidsNoDebug, ePropertyStepOutAvoidsNoDebug, ePropertyStepAvoidRegex, ePropertyStepAvoidLibraries,
  ePropertyEnableThreadTrace, ePropertyMaxBacktraceDepth
}
 

Functions

static void PrintPlanElement (Stream *s, const ThreadPlanSP &plan, lldb::DescriptionLevel desc_level, int32_t elem_idx)
 
static void PrintPlanStack (Stream *s, const std::vector< lldb::ThreadPlanSP > &plan_stack, lldb::DescriptionLevel desc_level, bool include_internal)
 
static void DumpAddressList (Stream &s, const std::vector< Address > &list, ExecutionContextScope *exe_scope)
 

Variables

static constexpr PropertyDefinition g_properties []
 

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
ePropertyStepInAvoidsNoDebug 
ePropertyStepOutAvoidsNoDebug 
ePropertyStepAvoidRegex 
ePropertyStepAvoidLibraries 
ePropertyEnableThreadTrace 
ePropertyMaxBacktraceDepth 

Definition at line 84 of file Thread.cpp.

Function Documentation

◆ DumpAddressList()

static void DumpAddressList ( Stream s,
const std::vector< Address > &  list,
ExecutionContextScope exe_scope 
)
static

◆ PrintPlanElement()

static void PrintPlanElement ( Stream s,
const ThreadPlanSP &  plan,
lldb::DescriptionLevel  desc_level,
int32_t  elem_idx 
)
static

◆ PrintPlanStack()

static void PrintPlanStack ( Stream s,
const std::vector< lldb::ThreadPlanSP > &  plan_stack,
lldb::DescriptionLevel  desc_level,
bool  include_internal 
)
static

Definition at line 1528 of file Thread.cpp.

References PrintPlanElement().

Referenced by lldb_private::Thread::DumpThreadPlans().

Variable Documentation

◆ g_properties

constexpr PropertyDefinition g_properties[]
static
Initial value:
= {
{"step-in-avoid-nodebug", OptionValue::eTypeBoolean, true, true, nullptr,
{},
"If true, step-in will not stop in functions with no debug information."},
{"step-out-avoid-nodebug", OptionValue::eTypeBoolean, true, false, nullptr,
{}, "If true, when step-in/step-out/step-over leave the current frame, "
"they will continue to step out till they come to a function with "
"debug information. Passing a frame argument to step-out will "
"override this option."},
{"step-avoid-regexp", OptionValue::eTypeRegex, true, 0, "^std::", {},
"A regular expression defining functions step-in won't stop in."},
{"step-avoid-libraries", OptionValue::eTypeFileSpecList, true, 0, nullptr,
{}, "A list of libraries that source stepping won't stop in."},
{"trace-thread", OptionValue::eTypeBoolean, false, false, nullptr, {},
"If true, this thread will single-step and log execution."},
{"max-backtrace-depth", OptionValue::eTypeUInt64, false, 300000, nullptr,
{}, "Maximum number of frames to backtrace."}}

Definition at line 66 of file Thread.cpp.

Referenced by lldb_private::ThreadProperties::GetMaxBacktraceDepth(), lldb_private::ThreadProperties::GetStepInAvoidsNoDebug(), lldb_private::ThreadProperties::GetStepOutAvoidsNoDebug(), lldb_private::ThreadProperties::GetTraceEnabledState(), and lldb_private::ThreadProperties::ThreadProperties().