LLDB mainline
|
#include <atomic>
#include <memory>
#include <mutex>
#include <optional>
#include "llvm/ADT/ScopeExit.h"
#include "llvm/Support/ScopedPrinter.h"
#include "llvm/Support/Threading.h"
#include "lldb/Breakpoint/BreakpointLocation.h"
#include "lldb/Breakpoint/StoppointCallbackContext.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ModuleSpec.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Progress.h"
#include "lldb/Expression/DiagnosticManager.h"
#include "lldb/Expression/DynamicCheckerFunctions.h"
#include "lldb/Expression/UserExpression.h"
#include "lldb/Expression/UtilityFunction.h"
#include "lldb/Host/ConnectionFileDescriptor.h"
#include "lldb/Host/FileSystem.h"
#include "lldb/Host/Host.h"
#include "lldb/Host/HostInfo.h"
#include "lldb/Host/OptionParser.h"
#include "lldb/Host/Pipe.h"
#include "lldb/Host/Terminal.h"
#include "lldb/Host/ThreadLauncher.h"
#include "lldb/Interpreter/CommandInterpreter.h"
#include "lldb/Interpreter/OptionArgParser.h"
#include "lldb/Interpreter/OptionValueProperties.h"
#include "lldb/Symbol/Function.h"
#include "lldb/Symbol/Symbol.h"
#include "lldb/Target/ABI.h"
#include "lldb/Target/AssertFrameRecognizer.h"
#include "lldb/Target/DynamicLoader.h"
#include "lldb/Target/InstrumentationRuntime.h"
#include "lldb/Target/JITLoader.h"
#include "lldb/Target/JITLoaderList.h"
#include "lldb/Target/Language.h"
#include "lldb/Target/LanguageRuntime.h"
#include "lldb/Target/MemoryHistory.h"
#include "lldb/Target/MemoryRegionInfo.h"
#include "lldb/Target/OperatingSystem.h"
#include "lldb/Target/Platform.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/RegisterContext.h"
#include "lldb/Target/StopInfo.h"
#include "lldb/Target/StructuredDataPlugin.h"
#include "lldb/Target/SystemRuntime.h"
#include "lldb/Target/Target.h"
#include "lldb/Target/TargetList.h"
#include "lldb/Target/Thread.h"
#include "lldb/Target/ThreadPlan.h"
#include "lldb/Target/ThreadPlanBase.h"
#include "lldb/Target/ThreadPlanCallFunction.h"
#include "lldb/Target/ThreadPlanStack.h"
#include "lldb/Target/UnixSignals.h"
#include "lldb/Target/VerboseTrapFrameRecognizer.h"
#include "lldb/Utility/AddressableBits.h"
#include "lldb/Utility/Event.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/NameMatches.h"
#include "lldb/Utility/ProcessInfo.h"
#include "lldb/Utility/SelectHelper.h"
#include "lldb/Utility/State.h"
#include "lldb/Utility/Timer.h"
#include "TargetProperties.inc"
#include "TargetPropertiesEnum.inc"
Go to the source code of this file.
Classes | |
class | ProcessOptionValueProperties |
class | ProcessMemoryIterator |
class | ProcessExperimentalOptionValueProperties |
class | IOHandlerProcessSTDIO |
Macros | |
#define | ENABLE_MEMORY_CACHING |
#define | DISABLE_MEM_CACHE_DEFAULT false |
#define | LLDB_PROPERTIES_process |
#define | LLDB_PROPERTIES_process |
#define | LLDB_PROPERTIES_process_experimental |
#define | LLDB_PROPERTIES_process_experimental |
#define | USE_ALLOCATE_MEMORY_CACHE 1 |
Enumerations | |
enum | { ePropertyExperimental } |
enum | |
Functions | |
static microseconds | GetOneThreadExpressionTimeout (const EvaluateExpressionOptions &options) |
static Timeout< std::micro > | GetExpressionTimeout (const EvaluateExpressionOptions &options, bool before_first_timeout) |
static std::optional< ExpressionResults > | HandleStoppedEvent (lldb::tid_t thread_id, const ThreadPlanSP &thread_plan_sp, RestorePlanState &restorer, const EventSP &event_sp, EventSP &event_to_broadcast_sp, const EvaluateExpressionOptions &options, bool handle_interrupts) |
static Process::CoreFileMemoryRange | CreateCoreFileMemoryRange (const MemoryRegionInfo ®ion) |
static bool | AddDirtyPages (const MemoryRegionInfo ®ion, Process::CoreFileMemoryRanges &ranges) |
static void | AddRegion (const MemoryRegionInfo ®ion, bool try_dirty_pages, Process::CoreFileMemoryRanges &ranges) |
static void | SaveOffRegionsWithStackPointers (Process &process, const SaveCoreOptions &core_options, const MemoryRegionInfos ®ions, Process::CoreFileMemoryRanges &ranges, std::set< addr_t > &stack_ends) |
static void | GetCoreFileSaveRangesFull (Process &process, const MemoryRegionInfos ®ions, Process::CoreFileMemoryRanges &ranges, std::set< addr_t > &stack_ends) |
static void | GetCoreFileSaveRangesDirtyOnly (Process &process, const MemoryRegionInfos ®ions, Process::CoreFileMemoryRanges &ranges, std::set< addr_t > &stack_ends) |
static void | GetCoreFileSaveRangesStackOnly (Process &process, const MemoryRegionInfos ®ions, Process::CoreFileMemoryRanges &ranges, std::set< addr_t > &stack_ends) |
Variables | |
static constexpr OptionEnumValueElement | g_follow_fork_mode_values [] |
#define DISABLE_MEM_CACHE_DEFAULT false |
Definition at line 87 of file Process.cpp.
#define ENABLE_MEMORY_CACHING |
Definition at line 84 of file Process.cpp.
#define LLDB_PROPERTIES_process |
Definition at line 161 of file Process.cpp.
#define LLDB_PROPERTIES_process |
Definition at line 161 of file Process.cpp.
#define LLDB_PROPERTIES_process_experimental |
Definition at line 170 of file Process.cpp.
#define LLDB_PROPERTIES_process_experimental |
Definition at line 170 of file Process.cpp.
#define USE_ALLOCATE_MEMORY_CACHE 1 |
Definition at line 2436 of file Process.cpp.
anonymous enum |
Enumerator | |
---|---|
ePropertyExperimental |
Definition at line 160 of file Process.cpp.
anonymous enum |
Definition at line 169 of file Process.cpp.
|
static |
Definition at line 6499 of file Process.cpp.
References lldb_private::MemoryRegionInfo::GetDirtyPageList(), lldb_private::MemoryRegionInfo::GetLLDBPermissions(), and lldb_private::MemoryRegionInfo::GetPageSize().
Referenced by AddRegion(), and GetCoreFileSaveRangesDirtyOnly().
|
static |
Definition at line 6538 of file Process.cpp.
References AddDirtyPages(), CreateCoreFileMemoryRange(), lldb_private::Range< B, S >::GetByteSize(), lldb_private::MemoryRegionInfo::GetLLDBPermissions(), and lldb_private::MemoryRegionInfo::GetRange().
Referenced by GetCoreFileSaveRangesDirtyOnly(), GetCoreFileSaveRangesFull(), GetCoreFileSaveRangesStackOnly(), and SaveOffRegionsWithStackPointers().
|
static |
Definition at line 6490 of file Process.cpp.
References lldb_private::Range< B, S >::GetByteSize(), lldb_private::MemoryRegionInfo::GetLLDBPermissions(), lldb_private::MemoryRegionInfo::GetRange(), and lldb_private::Range< B, S >::GetRangeBase().
Referenced by AddRegion().
|
static |
Definition at line 6608 of file Process.cpp.
References AddDirtyPages(), AddRegion(), and lldb_private::MemoryRegionInfo::eYes.
Referenced by lldb_private::Process::CalculateCoreFileSaveRanges().
|
static |
Definition at line 6592 of file Process.cpp.
References AddRegion().
Referenced by lldb_private::Process::CalculateCoreFileSaveRanges().
|
static |
Definition at line 6639 of file Process.cpp.
References AddRegion(), and lldb_private::MemoryRegionInfo::eYes.
Referenced by lldb_private::Process::CalculateCoreFileSaveRanges().
|
static |
Definition at line 4867 of file Process.cpp.
References GetOneThreadExpressionTimeout(), lldb_private::EvaluateExpressionOptions::GetStopOthers(), lldb_private::EvaluateExpressionOptions::GetTimeout(), and lldb_private::EvaluateExpressionOptions::GetTryAllThreads().
Referenced by lldb_private::Process::RunThreadPlan().
|
static |
Definition at line 4847 of file Process.cpp.
References lldb_private::EvaluateExpressionOptions::GetOneThreadTimeout(), and lldb_private::EvaluateExpressionOptions::GetTimeout().
Referenced by GetExpressionTimeout().
|
static |
Definition at line 4884 of file Process.cpp.
References lldb_private::EvaluateExpressionOptions::DoesIgnoreBreakpoints(), lldb_private::EvaluateExpressionOptions::DoesUnwindOnError(), lldb::eExpressionCompleted, lldb::eExpressionHitBreakpoint, lldb::eExpressionInterrupted, lldb::eExpressionThreadVanished, lldb::eStopReasonBreakpoint, lldb_private::Process::ProcessEventData::GetInterruptedFromEvent(), lldb_private::GetLog(), LLDB_LOG, lldb_private::Process, and lldb_private::Step.
Referenced by lldb_private::Process::RunThreadPlan().
|
static |
Definition at line 6551 of file Process.cpp.
References AddRegion(), lldb_private::Process::GetABI(), lldb_private::Process::GetMemoryRegionInfo(), lldb_private::MemoryRegionInfo::GetRange(), lldb_private::Range< B, S >::GetRangeEnd(), lldb_private::Process::GetThreadList(), lldb_private::Range< B, S >::SetByteSize(), lldb_private::Range< B, S >::SetRangeBase(), lldb_private::SaveCoreOptions::ShouldThreadBeSaved(), sp, lldb_private::Status::Success(), and lldb_private::ThreadCollection::Threads().
Referenced by lldb_private::Process::CalculateCoreFileSaveRanges().
|
staticconstexpr |
Definition at line 144 of file Process.cpp.