microfmt
Zero-allocation C++ formatting for constrained environments
Loading...
Searching...
No Matches
Namespaces | Classes | Enumerations | Functions | Variables
microfmt::gdb Namespace Reference

Namespaces

namespace  detail
 
namespace  tags
 

Classes

class  client_request_decoder
 Parses incoming GDB client requests (acting as a GDB server). More...
 
class  client_request_encoder
 Encodes GDB requests (acting as a GDB frontend/client). More...
 
struct  client_request_view
 Zero-allocation parameters for generating a GDB client request. More...
 
class  gdb_packet_writer
 Zero-allocation GDB Remote Serial Protocol packet builder sink. More...
 
class  gdb_streaming_decoder
 Stateful streaming decoder for incoming GDB Remote Serial Protocol packets. More...
 
struct  packet_metadata
 Metadata descriptor for a GDB RSP packet. More...
 
class  packet_recognizer
 Zero-allocation packet payload recognizer. More...
 
class  register_array_decoder
 Decodes GDB RSP hex strings into binary values and writes them to the execution context. More...
 
class  register_array_encoder
 Encodes register values from a execution context into GDB RSP hex strings. More...
 
struct  register_mapping
 Maps a single register between GDB and DWARF definitions. More...
 
struct  register_traits
 Base template for architecture-specific GDB register traits. More...
 
struct  register_traits< tags::aarch64 >
 
struct  register_traits< tags::arm32 >
 
struct  register_traits< tags::riscv32 >
 
struct  register_traits< tags::riscv64 >
 
struct  register_traits< tags::x86 >
 
struct  register_traits< tags::x86_64 >
 
struct  register_traits_base
 Shared lookup implementation for architecture-specific GDB register traits. More...
 
class  register_xml_printer
 Zero-allocation printer for generating GDB target XML descriptions. More...
 
class  server_response_decoder
 Parses incoming GDB server responses (acting as a GDB client). More...
 
class  server_response_encoder
 Encodes GDB responses (acting as a GDB server/stub). More...
 
struct  server_response_view
 Zero-allocation parameters for generating a GDB server response. More...
 

Enumerations

enum class  server_response_type : uint8_t {
  empty , ok , error , hex_data ,
  binary_data , console_output , thread_list , thread_list_end ,
  stop_signal , stop_exit , raw_string
}
 
enum class  packet_type : uint8_t { __INSPECTOR_GDB_PACKET_TYPE_X , _count , _multi_char_marker }
 High-level classification of GDB Remote Serial Protocol commands. More...
 

Functions

constexpr const packet_metadata & get_packet_metadata (packet_type type) noexcept
 Retrieves metadata for a specific packet type with strict bounds checking.
 

Variables

constexpr packet_metadata packet_metadata_table []
 Compile-time lookup table mapping packet_type to its metadata. Initialized strictly with C++17 positional arguments to ensure compliance.
 

Enumeration Type Documentation

◆ packet_type

enum class microfmt::gdb::packet_type : uint8_t
strong

High-level classification of GDB Remote Serial Protocol commands.

Maps raw packet payloads (e.g., 'g', 'm', 'qSupported') to strongly-typed identifiers.

Enumerator
__INSPECTOR_GDB_PACKET_TYPE_X 
_count 
_multi_char_marker 

◆ server_response_type

enum class microfmt::gdb::server_response_type : uint8_t
strong
Enumerator
empty 
ok 
error 
hex_data 
binary_data 
console_output 
thread_list 
thread_list_end 
stop_signal 
stop_exit 
raw_string 

Function Documentation

◆ get_packet_metadata()

constexpr const packet_metadata & microfmt::gdb::get_packet_metadata ( packet_type  type)
constexprnoexcept

Retrieves metadata for a specific packet type with strict bounds checking.

Parameters
typeThe packet_type to query.
Returns
A reference to the metadata descriptor. Falls back to unknown if out of bounds.

Variable Documentation

◆ packet_metadata_table

constexpr packet_metadata microfmt::gdb::packet_metadata_table[]
inlineconstexpr

Compile-time lookup table mapping packet_type to its metadata. Initialized strictly with C++17 positional arguments to ensure compliance.