diff --git a/src/DebugServer/Gdb/CommandPackets/CommandPacket.cpp b/src/DebugServer/Gdb/CommandPackets/CommandPacket.cpp index f76689ec..45edcad8 100644 --- a/src/DebugServer/Gdb/CommandPackets/CommandPacket.cpp +++ b/src/DebugServer/Gdb/CommandPackets/CommandPacket.cpp @@ -3,6 +3,7 @@ #include "src/DebugServer/Gdb/ResponsePackets/ResponsePacket.hpp" #include "src/DebugServer/Gdb/ResponsePackets/OkResponsePacket.hpp" #include "src/DebugServer/Gdb/ResponsePackets/TargetStopped.hpp" +#include "src/DebugServer/Gdb/ResponsePackets/EmptyResponsePacket.hpp" #include "src/DebugServer/Gdb/ResponsePackets/ErrorResponsePacket.hpp" #include "src/DebugServer/Gdb/Signal.hpp" @@ -15,6 +16,7 @@ namespace Bloom::DebugServer::Gdb::CommandPackets using ResponsePackets::ResponsePacket; using ResponsePackets::OkResponsePacket; using ResponsePackets::TargetStopped; + using ResponsePackets::EmptyResponsePacket; using ResponsePackets::ErrorResponsePacket; using Exceptions::Exception; @@ -49,6 +51,6 @@ namespace Bloom::DebugServer::Gdb::CommandPackets Logger::debug("Unknown GDB RSP packet: " + packetString + " - returning empty response"); // Respond with an empty packet - debugSession.connection.writePacket(ResponsePacket(std::vector({0}))); + debugSession.connection.writePacket(EmptyResponsePacket()); } } diff --git a/src/DebugServer/Gdb/ResponsePackets/EmptyResponsePacket.hpp b/src/DebugServer/Gdb/ResponsePackets/EmptyResponsePacket.hpp new file mode 100644 index 00000000..5f60b67d --- /dev/null +++ b/src/DebugServer/Gdb/ResponsePackets/EmptyResponsePacket.hpp @@ -0,0 +1,17 @@ +#pragma once + +#include "ResponsePacket.hpp" + +namespace Bloom::DebugServer::Gdb::ResponsePackets +{ + /** + * Empty response packet expected by the GDB client, in response to certain commands. + */ + class EmptyResponsePacket: public ResponsePacket + { + public: + EmptyResponsePacket() + : ResponsePacket(std::vector{0}) + {} + }; +}