tree: 783409fc0d6d6b5712f9d28aa9513af15dc52d1a [path history] [tgz]
  1. helper/
  2. agent_protocol.cc
  3. agent_protocol.h
  4. BUILD.gn
  5. client_protocol.cc
  6. client_protocol.h
  7. message_reader.cc
  8. message_reader.h
  9. message_unittests.cc
  10. message_writer.cc
  11. message_writer.h
  12. protocol.cc
  13. protocol.h
  14. protocol_helpers.cc
  15. protocol_helpers.h
  16. protocol_unittests.cc
  17. README.md
  18. records.h
  19. register_desc.h
lib/debug_ipc/README.md

Debug IPC

This is the shared IPC code between the debug router and the client debugger. It's not useful for random programs. Client debugging code should use the client debug library.

This is a super simple custom IPC format because it is intended to be used between two computers (unlike FIDL) and called at a very low level when debugging the system (when higher-level primitives should be avoided).

Protocol information

  • Structs are defined with sized types and serialized little-endian such that they can be memcpy'd on little-endian machines.

  • Vectors are serialized as a 32-bit count followed by the number of records serialized in the normal manner.

  • Strings are serialized as a 32-bit size followed by that number of 8-bit characters. No encoding is specified, the data is not null terminated.