Lines Matching refs:packet

194                         [this](StringExtractorGDBRemote packet, Status &error,
197 return this->Handle_k(packet);
582 LLDB_LOG(log, "preparing packet for pid {0} tid {1}",
603 // Output the T packet with the thread
640 // reply packet, so it must be enabled only on systems where there are no
641 // limits on packet lengths.
660 // thread otherwise this packet has all the info it needs.
915 "GDBRemoteCommunicationServerLLGS::%s processing a packet "
1032 StringExtractorGDBRemote &packet) {
1039 if (!packet.ConsumeFront("jTraceStart:"))
1040 return SendIllFormedResponse(packet, "jTraceStart: Ill formed packet ");
1048 auto json_object = StructuredData::ParseJSON(packet.Peek());
1052 return SendIllFormedResponse(packet, "jTraceStart: Ill formed packet ");
1072 return SendIllFormedResponse(packet, "jTraceStart: Ill formed packet ");
1079 LLDB_LOG(log, "Ill formed packet buffersize = {0} type = {1}", buffersize,
1081 return SendIllFormedResponse(packet, "JTrace:start: Ill formed packet ");
1098 StringExtractorGDBRemote &packet) {
1104 if (!packet.ConsumeFront("jTraceStop:"))
1105 return SendIllFormedResponse(packet, "jTraceStop: Ill formed packet ");
1110 auto json_object = StructuredData::ParseJSON(packet.Peek());
1114 return SendIllFormedResponse(packet, "jTraceStop: Ill formed packet ");
1119 return SendIllFormedResponse(packet, "jTraceStop: Ill formed packet ");
1133 StringExtractorGDBRemote &packet) {
1140 if (!packet.ConsumeFront("jTraceConfigRead:"))
1141 return SendIllFormedResponse(packet,
1142 "jTraceConfigRead: Ill formed packet ");
1147 auto json_object = StructuredData::ParseJSON(packet.Peek());
1151 return SendIllFormedResponse(packet,
1152 "jTraceConfigRead: Ill formed packet ");
1157 return SendIllFormedResponse(packet,
1158 "jTraceConfigRead: Ill formed packet ");
1191 StringExtractorGDBRemote &packet) {
1201 if (packet.ConsumeFront("jTraceBufferRead:"))
1203 else if (packet.ConsumeFront("jTraceMetaRead:"))
1206 return SendIllFormedResponse(packet, "jTrace: Ill formed packet ");
1215 auto json_object = StructuredData::ParseJSON(packet.Peek());
1219 return SendIllFormedResponse(packet, "jTrace: Ill formed packet ");
1226 return SendIllFormedResponse(packet, "jTrace: Ill formed packet ");
1257 StringExtractorGDBRemote &packet) {
1278 GDBRemoteCommunicationServerLLGS::Handle_qC(StringExtractorGDBRemote &packet) {
1300 GDBRemoteCommunicationServerLLGS::Handle_k(StringExtractorGDBRemote &packet) {
1315 // No OK response for kill packet.
1322 StringExtractorGDBRemote &packet) {
1323 packet.SetFilePos(::strlen("QSetDisableASLR:"));
1324 if (packet.GetU32(0))
1333 StringExtractorGDBRemote &packet) {
1334 packet.SetFilePos(::strlen("QSetWorkingDir:"));
1336 packet.GetHexByteString(path);
1343 StringExtractorGDBRemote &packet) {
1355 GDBRemoteCommunicationServerLLGS::Handle_C(StringExtractorGDBRemote &packet) {
1369 packet.SetFilePos(::strlen("C"));
1370 if (packet.GetBytesLeft() < 1) {
1372 return SendIllFormedResponse(packet, "C packet specified without signal.");
1375 packet.GetHexMaxU32(false, std::numeric_limits<uint32_t>::max());
1377 return SendIllFormedResponse(packet, "failed to parse signal number");
1380 if (packet.GetBytesLeft() > 0) {
1382 if (*packet.Peek() == ';')
1383 return SendUnimplementedResponse(packet.GetStringRef().data());
1386 packet, "unexpected content after $C{signal-number}");
1431 // Don't send an "OK" packet; response is the stopped/exited message.
1436 GDBRemoteCommunicationServerLLGS::Handle_c(StringExtractorGDBRemote &packet) {
1440 packet.SetFilePos(packet.GetFilePos() + ::strlen("c"));
1443 const bool has_continue_address = (packet.GetBytesLeft() > 0);
1446 packet.Peek());
1447 return SendUnimplementedResponse(packet.GetStringRef().data());
1477 StringExtractorGDBRemote &packet) {
1486 StringExtractorGDBRemote &packet) {
1488 LLDB_LOGF(log, "GDBRemoteCommunicationServerLLGS::%s handling vCont packet",
1491 packet.SetFilePos(::strlen("vCont"));
1493 if (packet.GetBytesLeft() == 0) {
1498 return SendIllFormedResponse(packet, "Missing action from vCont package");
1502 if (::strcmp(packet.Peek(), ";c") == 0) {
1504 packet.SetFilePos(packet.GetFilePos() + 1);
1505 return Handle_c(packet);
1506 } else if (::strcmp(packet.Peek(), ";s") == 0) {
1508 packet.SetFilePos(packet.GetFilePos() + 1);
1509 return Handle_s(packet);
1520 while (packet.GetBytesLeft() && *packet.Peek() == ';') {
1522 packet.GetChar();
1530 const char action = packet.GetChar();
1533 thread_action.signal = packet.GetHexMaxU32(false, 0);
1536 packet, "Could not parse signal in vCont packet C action");
1545 thread_action.signal = packet.GetHexMaxU32(false, 0);
1548 packet, "Could not parse signal in vCont packet S action");
1557 return SendIllFormedResponse(packet, "Unsupported vCont action");
1562 if (packet.GetBytesLeft() && (*packet.Peek() == ':')) {
1564 packet.GetChar();
1566 thread_action.tid = packet.GetHexMaxU32(false, LLDB_INVALID_THREAD_ID);
1569 packet, "Could not parse thread number in vCont packet");
1605 StringExtractorGDBRemote &packet) {
1656 StringExtractorGDBRemote &packet) {
1671 packet.SetFilePos(strlen("qRegisterInfo"));
1673 packet.GetHexMaxU32(false, std::numeric_limits<uint32_t>::max());
1860 StringExtractorGDBRemote &packet) {
1895 StringExtractorGDBRemote &packet) {
1896 // FIXME for now we return the full thread list in the initial packet and
1902 GDBRemoteCommunicationServerLLGS::Handle_g(StringExtractorGDBRemote &packet) {
1905 // Move past packet name.
1906 packet.SetFilePos(strlen("g"));
1909 NativeThreadProtocol *thread = GetThreadFromSuffix(packet);
1957 GDBRemoteCommunicationServerLLGS::Handle_p(StringExtractorGDBRemote &packet) {
1961 packet.SetFilePos(strlen("p"));
1963 packet.GetHexMaxU32(false, std::numeric_limits<uint32_t>::max());
1968 __FUNCTION__, packet.GetStringRef().data());
1973 NativeThreadProtocol *thread = GetThreadFromSuffix(packet);
2033 GDBRemoteCommunicationServerLLGS::Handle_P(StringExtractorGDBRemote &packet) {
2037 if (packet.GetBytesLeft() < 1)
2038 return SendIllFormedResponse(packet, "Empty P packet");
2041 packet.SetFilePos(strlen("P"));
2043 packet.GetHexMaxU32(false, std::numeric_limits<uint32_t>::max());
2048 __FUNCTION__, packet.GetStringRef().data());
2053 if ((packet.GetBytesLeft() < 1) || (packet.GetChar() != '='))
2055 packet, "P packet missing '=' char after register number");
2059 size_t reg_size = packet.GetHexBytesAvail(reg_bytes);
2062 NativeThreadProtocol *thread = GetThreadFromSuffix(packet);
2096 return SendIllFormedResponse(packet, "P packet register size is incorrect");
2118 GDBRemoteCommunicationServerLLGS::Handle_H(StringExtractorGDBRemote &packet) {
2132 packet.SetFilePos(strlen("H"));
2133 if (packet.GetBytesLeft() < 1) {
2138 return SendIllFormedResponse(packet, "H command missing {g,c} variant");
2141 const char h_variant = packet.GetChar();
2154 return SendIllFormedResponse(packet,
2161 packet.GetHexMaxU64(false, std::numeric_limits<lldb::tid_t>::max());
2188 return SendIllFormedResponse(packet,
2196 GDBRemoteCommunicationServerLLGS::Handle_I(StringExtractorGDBRemote &packet) {
2209 packet.SetFilePos(::strlen("I"));
2212 size_t read = packet.GetHexBytesAvail(tmp);
2232 StringExtractorGDBRemote &packet) {
2258 StringExtractorGDBRemote &packet) {
2271 packet.SetFilePos(strlen("m"));
2272 if (packet.GetBytesLeft() < 1)
2273 return SendIllFormedResponse(packet, "Too short m packet");
2278 const lldb::addr_t read_addr = packet.GetHexMaxU64(false, 0);
2281 if ((packet.GetBytesLeft() < 1) || (packet.GetChar() != ','))
2282 return SendIllFormedResponse(packet, "Comma sep missing in m packet");
2285 if (packet.GetBytesLeft() < 1)
2286 return SendIllFormedResponse(packet, "Length missing in m packet");
2288 const uint64_t byte_count = packet.GetHexMaxU64(false, 0);
2292 "zero-length packet",
2325 packet.SetFilePos(0);
2326 char kind = packet.GetChar('?');
2339 GDBRemoteCommunicationServerLLGS::Handle_M(StringExtractorGDBRemote &packet) {
2352 packet.SetFilePos(strlen("M"));
2353 if (packet.GetBytesLeft() < 1)
2354 return SendIllFormedResponse(packet, "Too short M packet");
2359 const lldb::addr_t write_addr = packet.GetHexMaxU64(false, 0);
2362 if ((packet.GetBytesLeft() < 1) || (packet.GetChar() != ','))
2363 return SendIllFormedResponse(packet, "Comma sep missing in M packet");
2366 if (packet.GetBytesLeft() < 1)
2367 return SendIllFormedResponse(packet, "Length missing in M packet");
2369 const uint64_t byte_count = packet.GetHexMaxU64(false, 0);
2371 LLDB_LOG(log, "nothing to write: zero-length packet");
2376 if ((packet.GetBytesLeft() < 1) || (packet.GetChar() != ':'))
2378 packet, "Comma sep missing in M packet after byte length");
2387 const uint64_t convert_count = packet.GetHexBytes(buf, 0);
2394 return SendIllFormedResponse(packet, "M content byte length specified did "
2420 StringExtractorGDBRemote &packet) {
2454 StringExtractorGDBRemote &packet) {
2468 packet.SetFilePos(strlen("qMemoryRegionInfo:"));
2469 if (packet.GetBytesLeft() < 1)
2470 return SendIllFormedResponse(packet, "Too short qMemoryRegionInfo: packet");
2473 const lldb::addr_t read_addr = packet.GetHexMaxU64(false, 0);
2522 GDBRemoteCommunicationServerLLGS::Handle_Z(StringExtractorGDBRemote &packet) {
2532 packet.SetFilePos(strlen("Z"));
2533 if (packet.GetBytesLeft() < 1)
2535 packet, "Too short Z packet, missing software/hardware specifier");
2542 GDBStoppointType(packet.GetS32(eStoppointInvalid));
2569 packet, "Z packet had invalid software/hardware specifier");
2572 if ((packet.GetBytesLeft() < 1) || packet.GetChar() != ',')
2574 packet, "Malformed Z packet, expecting comma after stoppoint type");
2577 if (packet.GetBytesLeft() < 1)
2578 return SendIllFormedResponse(packet, "Too short Z packet, missing address");
2579 const lldb::addr_t addr = packet.GetHexMaxU64(false, 0);
2581 if ((packet.GetBytesLeft() < 1) || packet.GetChar() != ',')
2583 packet, "Malformed Z packet, expecting comma after address");
2587 packet.GetHexMaxU32(false, std::numeric_limits<uint32_t>::max());
2590 packet, "Malformed Z packet, failed to parse size argument");
2616 GDBRemoteCommunicationServerLLGS::Handle_z(StringExtractorGDBRemote &packet) {
2626 packet.SetFilePos(strlen("z"));
2627 if (packet.GetBytesLeft() < 1)
2629 packet, "Too short z packet, missing software/hardware specifier");
2635 GDBStoppointType(packet.GetS32(eStoppointInvalid));
2655 packet, "z packet had invalid software/hardware specifier");
2658 if ((packet.GetBytesLeft() < 1) || packet.GetChar() != ',')
2660 packet, "Malformed z packet, expecting comma after stoppoint type");
2663 if (packet.GetBytesLeft() < 1)
2664 return SendIllFormedResponse(packet, "Too short z packet, missing address");
2665 const lldb::addr_t addr = packet.GetHexMaxU64(false, 0);
2667 if ((packet.GetBytesLeft() < 1) || packet.GetChar() != ',')
2669 packet, "Malformed z packet, expecting comma after address");
2673 const uint32_t size = packet.GetHexMaxU32 (false,
2676 return SendIllFormedResponse(packet, "Malformed z packet, failed to parse
2703 GDBRemoteCommunicationServerLLGS::Handle_s(StringExtractorGDBRemote &packet) {
2795 StringExtractorGDBRemote &packet) {
2797 // The packet format is "qXfer:<object>:<action>:<annex>:offset,length"
2798 StringRef(packet.GetStringRef()).split(fields, ':', 4);
2800 return SendIllFormedResponse(packet, "malformed qXfer packet");
2811 return SendIllFormedResponse(packet, "qXfer packet missing offset");
2814 return SendIllFormedResponse(packet,
2815 "qXfer packet missing comma after offset");
2820 return SendIllFormedResponse(packet, "qXfer packet missing length");
2868 StringExtractorGDBRemote &packet) {
2871 // Move past packet name.
2872 packet.SetFilePos(strlen("QSaveRegisterState"));
2875 NativeThreadProtocol *thread = GetThreadFromSuffix(packet);
2879 packet, "No thread specified in QSaveRegisterState packet");
2881 return SendIllFormedResponse(packet,
2882 "No thread was is set with the Hg packet");
2916 StringExtractorGDBRemote &packet) {
2920 packet.SetFilePos(strlen("QRestoreRegisterState:"));
2921 if (packet.GetBytesLeft() < 1)
2923 packet, "QRestoreRegisterState packet missing register save id");
2925 const uint32_t save_id = packet.GetU32(0);
2927 LLDB_LOG(log, "QRestoreRegisterState packet has malformed save id, "
2933 NativeThreadProtocol *thread = GetThreadFromSuffix(packet);
2937 packet, "No thread specified in QRestoreRegisterState packet");
2939 return SendIllFormedResponse(packet,
2940 "No thread was is set with the Hg packet");
2977 StringExtractorGDBRemote &packet) {
2981 packet.SetFilePos(strlen("vAttach"));
2982 if (!packet.GetBytesLeft() || packet.GetChar() != ';')
2983 return SendIllFormedResponse(packet, "vAttach missing expected ';'");
2986 lldb::pid_t pid = packet.GetU32(LLDB_INVALID_PROCESS_ID, 16);
2988 return SendIllFormedResponse(packet,
3007 // Notify we attached by sending a stop packet.
3012 GDBRemoteCommunicationServerLLGS::Handle_D(StringExtractorGDBRemote &packet) {
3030 packet.SetFilePos(1);
3031 if (packet.GetBytesLeft()) {
3032 if (packet.GetChar() != ';')
3033 return SendIllFormedResponse(packet, "D missing expected ';'");
3036 pid = packet.GetU32(LLDB_INVALID_PROCESS_ID, 16);
3038 return SendIllFormedResponse(packet, "D failed to parse the process id");
3042 return SendIllFormedResponse(packet, "Invalid pid");
3059 StringExtractorGDBRemote &packet) {
3062 packet.SetFilePos(strlen("qThreadStopInfo"));
3063 const lldb::tid_t tid = packet.GetHexMaxU32(false, LLDB_INVALID_THREAD_ID);
3068 __FUNCTION__, packet.GetStringRef().data());
3083 LLDB_LOG(log, "preparing packet for pid {0}", m_debugged_process_up->GetID());
3091 "failed to prepare a packet for pid {1}: {0}",
3104 StringExtractorGDBRemote &packet) {
3110 packet.SetFilePos(strlen("qWatchpointSupportInfo"));
3111 if (packet.GetBytesLeft() == 0)
3113 if (packet.GetChar() != ':')
3129 StringExtractorGDBRemote &packet) {
3135 packet.SetFilePos(strlen("qFileLoadAddress:"));
3136 if (packet.GetBytesLeft() == 0)
3140 packet.GetHexByteString(file_name);
3158 StringExtractorGDBRemote &packet) {
3160 packet.SetFilePos(strlen("QPassSignals:"));
3164 while (packet.GetBytesLeft() > 0) {
3165 int signal = packet.GetS32(-1, 16);
3167 return SendIllFormedResponse(packet, "Failed to parse signal number.");
3170 packet.SkipSpaces();
3171 char separator = packet.GetChar();
3175 return SendIllFormedResponse(packet, "Invalid separator,"
3216 StringExtractorGDBRemote &packet) {
3238 if (packet.GetBytesLeft() < 1 || packet.GetChar() != ';') {
3241 "error: expected ';' prior to start of thread suffix: packet "
3243 __FUNCTION__, packet.GetStringRef().data());
3247 if (!packet.GetBytesLeft())
3251 if (strncmp(packet.Peek(), "thread:", strlen("thread:")) != 0) {
3254 "error: expected 'thread:' but not found, packet contents = "
3256 __FUNCTION__, packet.GetStringRef().data());
3259 packet.SetFilePos(packet.GetFilePos() + strlen("thread:"));
3260 const lldb::tid_t tid = packet.GetHexMaxU64(false, 0);