84 if (!meta.
prefix.empty()) {
90 case packet_type::continue_with_signal:
91 case packet_type::step_with_signal:
95 case packet_type::read_memory:
96 format_to(target,
MICROFMT_STRING(
"{:x},{:x}"), view.addr, view.length);
99 case packet_type::write_memory_hex:
100 format_to(target,
MICROFMT_STRING(
"{:x},{:x}:"), view.addr, view.length);
101 detail::emit_hex_bytes(target, view.data);
104 case packet_type::write_memory_binary:
105 format_to(target,
MICROFMT_STRING(
"{:x},{:x}:"), view.addr, view.length);
106 detail::emit_escaped_binary(target, view.data);
109 case packet_type::read_single_register:
113 case packet_type::write_single_register:
115 detail::emit_hex_bytes(target, view.data);
118 case packet_type::write_general_registers:
119 detail::emit_hex_bytes(target, view.data);
122 case packet_type::insert_break_watch:
123 case packet_type::remove_break_watch:
124 format_to(target,
MICROFMT_STRING(
"{},{:x},{:x}"), view.bp_type, view.addr, view.bp_kind);
127 case packet_type::set_thread:
128 target.put(view.thread_action);
129 detail::write_thread_id(target, view.thread_id);
132 case packet_type::thread_is_alive:
133 detail::write_thread_id(target, view.thread_id);
136 case packet_type::search_memory:
137 format_to(target,
MICROFMT_STRING(
":{:x};{:x};"), view.addr, view.length);
138 detail::emit_hex_bytes(target, view.data);
141 case packet_type::query_supported:
142 case packet_type::query_thread_extra_info:
143 case packet_type::query_offsets:
144 case packet_type::query_symbol:
145 case packet_type::v_cont:
146 case packet_type::v_attach:
147 case packet_type::v_run:
148 case packet_type::v_kill:
149 if (!view.extra_text.empty()) {
150 target.write(type >= packet_type::v_cont ?
";" :
":");
151 target.write(view.extra_text);
155 case packet_type::unknown:
156 case packet_type::enable_extended_mode:
157 case packet_type::halt_reason:
158 case packet_type::continue_exec:
159 case packet_type::step_exec:
160 case packet_type::kill:
161 case packet_type::detach:
162 case packet_type::restart:
163 case packet_type::read_general_registers:
164 case packet_type::query_first_thread_info:
165 case packet_type::query_subsequent_thread:
166 case packet_type::query_current_thread:
167 case packet_type::query_attached:
169 if (!view.extra_text.empty()) {
170 target.write(view.extra_text);