|
LLDB mainline
|
#include "lldb/Host/Config.h"#include <cerrno>#include <cstdlib>#include <sys/stat.h>#include <ctime>#include <sys/types.h>#include "lldb/Breakpoint/Watchpoint.h"#include "lldb/Breakpoint/WatchpointAlgorithms.h"#include "lldb/Breakpoint/WatchpointResource.h"#include "lldb/Core/Debugger.h"#include "lldb/Core/Module.h"#include "lldb/Core/ModuleSpec.h"#include "lldb/Core/PluginManager.h"#include "lldb/Core/Value.h"#include "lldb/DataFormatters/FormatManager.h"#include "lldb/Host/ConnectionFileDescriptor.h"#include "lldb/Host/FileSystem.h"#include "lldb/Host/HostInfo.h"#include "lldb/Host/HostThread.h"#include "lldb/Host/PosixApi.h"#include "lldb/Host/PseudoTerminal.h"#include "lldb/Host/StreamFile.h"#include "lldb/Host/ThreadLauncher.h"#include "lldb/Host/XML.h"#include "lldb/Interpreter/CommandInterpreter.h"#include "lldb/Interpreter/CommandObject.h"#include "lldb/Interpreter/CommandObjectMultiword.h"#include "lldb/Interpreter/CommandReturnObject.h"#include "lldb/Interpreter/OptionArgParser.h"#include "lldb/Interpreter/OptionGroupBoolean.h"#include "lldb/Interpreter/OptionGroupUInt64.h"#include "lldb/Interpreter/OptionValueProperties.h"#include "lldb/Interpreter/Options.h"#include "lldb/Interpreter/Property.h"#include "lldb/Symbol/ObjectFile.h"#include "lldb/Target/ABI.h"#include "lldb/Target/DynamicLoader.h"#include "lldb/Target/MemoryRegionInfo.h"#include "lldb/Target/RegisterFlags.h"#include "lldb/Target/SystemRuntime.h"#include "lldb/Target/Target.h"#include "lldb/Target/TargetList.h"#include "lldb/Target/ThreadPlanCallFunction.h"#include "lldb/Utility/Args.h"#include "lldb/Utility/FileSpec.h"#include "lldb/Utility/LLDBLog.h"#include "lldb/Utility/State.h"#include "lldb/Utility/StreamString.h"#include "lldb/Utility/Timer.h"#include <algorithm>#include <csignal>#include <map>#include <memory>#include <mutex>#include <optional>#include <sstream>#include <thread>#include "GDBRemoteRegisterContext.h"#include "GDBRemoteRegisterFallback.h"#include "Plugins/Process/Utility/GDBRemoteSignals.h"#include "Plugins/Process/Utility/InferiorCallPOSIX.h"#include "Plugins/Process/Utility/StopInfoMachException.h"#include "ProcessGDBRemote.h"#include "ProcessGDBRemoteLog.h"#include "ThreadGDBRemote.h"#include "lldb/Host/Host.h"#include "lldb/Utility/StringExtractorGDBRemote.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/ScopeExit.h"#include "llvm/ADT/StringMap.h"#include "llvm/ADT/StringSwitch.h"#include "llvm/Support/FormatAdapters.h"#include "llvm/Support/Threading.h"#include "llvm/Support/raw_ostream.h"#include "ProcessGDBRemoteProperties.inc"#include "ProcessGDBRemotePropertiesEnum.inc"Go to the source code of this file.
Namespaces | |
| namespace | lldb |
Macros | |
| #define | DEBUGSERVER_BASENAME "lldb-server" |
| #define | LLDB_PROPERTIES_processgdbremote |
| #define | LLDB_PROPERTIES_processgdbremote |
| #define | LOW_PORT (1024u) |
| #define | HIGH_PORT (49151u) |
Functions | |
| void | lldb::DumpProcessGDBRemotePacketHistory (void *p, const char *path) |
| static PluginProperties & | GetGlobalPluginProperties () |
| static size_t | SplitCommaSeparatedRegisterNumberString (const llvm::StringRef &comma_separated_register_numbers, std::vector< uint32_t > ®nums, int base) |
| static GDBStoppointType | GetGDBStoppointType (const WatchpointResourceSP &wp_res_sp) |
| static FileSpec | GetDebugserverPath (Platform &platform) |
| static StructuredData::ObjectSP | ParseStructuredDataPacket (llvm::StringRef packet) |
Variables | |
| static const char * | end_delimiter = "--end--;" |
| static const int | end_delimiter_len = 8 |
| static const char *const | s_async_json_packet_prefix = "JSON-async:" |
| #define DEBUGSERVER_BASENAME "lldb-server" |
Definition at line 102 of file ProcessGDBRemote.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::EstablishConnectionIfNeeded(), GetDebugserverPath(), lldb_private::process_gdb_remote::ProcessGDBRemote::LaunchAndConnectToDebugserver(), and lldb_private::process_gdb_remote::ProcessGDBRemote::MonitorDebugserverProcess().
| #define HIGH_PORT (49151u) |
Definition at line 199 of file ProcessGDBRemote.cpp.
| #define LLDB_PROPERTIES_processgdbremote |
Definition at line 132 of file ProcessGDBRemote.cpp.
| #define LLDB_PROPERTIES_processgdbremote |
Definition at line 132 of file ProcessGDBRemote.cpp.
| #define LOW_PORT (1024u) |
Definition at line 198 of file ProcessGDBRemote.cpp.
Definition at line 3594 of file ProcessGDBRemote.cpp.
References lldb_private::FileSpec::AppendPathComponent(), lldb_private::FileSpec::Clear(), DEBUGSERVER_BASENAME, lldb_private::Host::GetEnvironment(), lldb_private::GetLog(), lldb_private::FileSystem::Instance(), LLDB_LOG, lldb_private::Platform::LocateExecutable(), lldb_private::process_gdb_remote::Process, and lldb_private::FileSpec::SetFile().
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::LaunchAndConnectToDebugserver().
|
static |
Definition at line 3389 of file ProcessGDBRemote.cpp.
References lldb_private::process_gdb_remote::eWatchpointRead, lldb_private::process_gdb_remote::eWatchpointReadWrite, and lldb_private::process_gdb_remote::eWatchpointWrite.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::DidForkSwitchHardwareTraps(), lldb_private::process_gdb_remote::ProcessGDBRemote::DisableWatchpoint(), and lldb_private::process_gdb_remote::ProcessGDBRemote::EnableWatchpoint().
|
static |
Definition at line 185 of file ProcessGDBRemote.cpp.
|
static |
Definition at line 5648 of file ProcessGDBRemote.cpp.
References lldb_private::StreamString::Flush(), lldb_private::StreamString::GetData(), lldb_private::GetLog(), LLDB_LOGF, lldb_private::StructuredData::ParseJSON(), lldb_private::process_gdb_remote::Process, and s_async_json_packet_prefix.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::HandleAsyncStructuredDataPacket().
|
static |
Definition at line 379 of file ProcessGDBRemote.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::BuildDynamicRegisterInfo().
|
static |
Definition at line 5480 of file ProcessGDBRemote.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::HandleAsyncMisc(), and lldb_private::process_gdb_remote::ProcessGDBRemote::HarmonizeThreadIdsForProfileData().
|
static |
Definition at line 5481 of file ProcessGDBRemote.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::HandleAsyncMisc().
|
static |
Definition at line 5645 of file ProcessGDBRemote.cpp.
Referenced by ParseStructuredDataPacket().