LLDB  mainline
Classes | Namespaces | Macros | Enumerations | Functions | Variables
ProcessGDBRemote.cpp File Reference
#include "lldb/Host/Config.h"
#include <errno.h>
#include <stdlib.h>
#include <netinet/in.h>
#include <sys/mman.h>
#include <sys/socket.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <time.h>
#include <algorithm>
#include <csignal>
#include <map>
#include <memory>
#include <mutex>
#include <sstream>
#include "lldb/Breakpoint/Watchpoint.h"
#include "lldb/Core/Debugger.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ModuleSpec.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/StreamFile.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/StringConvert.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/LocateSymbolFile.h"
#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Target/ABI.h"
#include "lldb/Target/DynamicLoader.h"
#include "lldb/Target/MemoryRegionInfo.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/CleanUp.h"
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/Reproducer.h"
#include "lldb/Utility/State.h"
#include "lldb/Utility/StreamString.h"
#include "lldb/Utility/Timer.h"
#include "GDBRemoteRegisterContext.h"
#include "Plugins/Platform/MacOSX/PlatformRemoteiOS.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/StringSwitch.h"
#include "llvm/Support/Threading.h"
#include "llvm/Support/raw_ostream.h"

Go to the source code of this file.

Classes

class  CommandObjectProcessGDBRemoteSpeedTest
 
class  CommandObjectProcessGDBRemotePacketHistory
 
class  CommandObjectProcessGDBRemotePacketXferSize
 
class  CommandObjectProcessGDBRemotePacketSend
 
class  CommandObjectProcessGDBRemotePacketMonitor
 
class  CommandObjectProcessGDBRemotePacket
 
class  CommandObjectMultiwordProcessGDBRemote
 

Namespaces

 lldb
 

Macros

#define DEBUGSERVER_BASENAME   "debugserver"
 
#define LOW_PORT   (1024u)
 
#define HIGH_PORT   (49151u)
 
#define USE_SOCKETPAIR_FOR_LOCAL_CONNECTION   1
 

Enumerations

enum  
 

Functions

void lldb::DumpProcessGDBRemotePacketHistory (void *p, const char *path)
 
static void AugmentRegisterInfoViaABI (RegisterInfo &reg_info, ConstString reg_name, ABISP abi_sp)
 
static size_t SplitCommaSeparatedRegisterNumberString (const llvm::StringRef &comma_separated_regiter_numbers, std::vector< uint32_t > &regnums, int base)
 
static GDBStoppointType GetGDBStoppointType (Watchpoint *wp)
 
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:"
 

Macro Definition Documentation

◆ DEBUGSERVER_BASENAME

#define DEBUGSERVER_BASENAME   "debugserver"

◆ HIGH_PORT

#define HIGH_PORT   (49151u)

Definition at line 219 of file ProcessGDBRemote.cpp.

◆ LOW_PORT

#define LOW_PORT   (1024u)

Definition at line 218 of file ProcessGDBRemote.cpp.

◆ USE_SOCKETPAIR_FOR_LOCAL_CONNECTION

#define USE_SOCKETPAIR_FOR_LOCAL_CONNECTION   1

Definition at line 3483 of file ProcessGDBRemote.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

Definition at line 125 of file ProcessGDBRemote.cpp.

Function Documentation

◆ AugmentRegisterInfoViaABI()

static void AugmentRegisterInfoViaABI ( RegisterInfo &  reg_info,
ConstString  reg_name,
ABISP  abi_sp 
)
static

◆ GetGDBStoppointType()

static GDBStoppointType GetGDBStoppointType ( Watchpoint wp)
static

◆ ParseStructuredDataPacket()

static StructuredData::ObjectSP ParseStructuredDataPacket ( llvm::StringRef  packet)
static

◆ SetCloexecFlag()

static bool SetCloexecFlag ( int  fd)
static

◆ SplitCommaSeparatedRegisterNumberString()

static size_t SplitCommaSeparatedRegisterNumberString ( const llvm::StringRef &  comma_separated_regiter_numbers,
std::vector< uint32_t > &  regnums,
int  base 
)
static

Variable Documentation

◆ end_delimiter

const char* end_delimiter = "--end--;"
static

◆ end_delimiter_len

const int end_delimiter_len = 8
static

Definition at line 4970 of file ProcessGDBRemote.cpp.

◆ s_async_json_packet_prefix

const char* const s_async_json_packet_prefix = "JSON-async:"
static

Definition at line 5085 of file ProcessGDBRemote.cpp.

Referenced by ParseStructuredDataPacket().