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/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/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 "debugserver" |
#define | LLDB_PROPERTIES_processgdbremote |
#define | LLDB_PROPERTIES_processgdbremote |
#define | LOW_PORT (1024u) |
#define | HIGH_PORT (49151u) |
#define | USE_SOCKETPAIR_FOR_LOCAL_CONNECTION 1 |
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 bool | SetCloexecFlag (int fd) |
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 "debugserver" |
Definition at line 95 of file ProcessGDBRemote.cpp.
#define HIGH_PORT (49151u) |
Definition at line 188 of file ProcessGDBRemote.cpp.
#define LLDB_PROPERTIES_processgdbremote |
Definition at line 127 of file ProcessGDBRemote.cpp.
#define LLDB_PROPERTIES_processgdbremote |
Definition at line 127 of file ProcessGDBRemote.cpp.
#define LOW_PORT (1024u) |
Definition at line 187 of file ProcessGDBRemote.cpp.
#define USE_SOCKETPAIR_FOR_LOCAL_CONNECTION 1 |
Definition at line 3383 of file ProcessGDBRemote.cpp.
|
static |
Definition at line 3181 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 174 of file ProcessGDBRemote.cpp.
|
static |
Definition at line 5414 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 3387 of file ProcessGDBRemote.cpp.
Referenced by lldb_private::PipePosix::CreateNew(), and lldb_private::process_gdb_remote::ProcessGDBRemote::LaunchAndConnectToDebugserver().
|
static |
Definition at line 363 of file ProcessGDBRemote.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::BuildDynamicRegisterInfo().
|
static |
Definition at line 5245 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 5246 of file ProcessGDBRemote.cpp.
Referenced by lldb_private::process_gdb_remote::ProcessGDBRemote::HandleAsyncMisc().
|
static |
Definition at line 5411 of file ProcessGDBRemote.cpp.
Referenced by ParseStructuredDataPacket().