Ticket #430 (new task)
Create binary serializer debugging code
| Reported by: | Philip | Owned by: | Philip |
|---|---|---|---|
| Priority: | Nice to Have | Milestone: | Backlog |
| Component: | UI & Simulation | Keywords: | |
| Cc: |
Description
There's currently DebugSerializer for producing human-readable output, but it's quite different to the normal serialization done by BinarySerializer. When there are bugs with the binary serialization/deserialization code, it would be helpful to have an 'annotated' version of the binary output - perhaps just implement Put so it prints the name string and a hex dump of the bytes, and then add markers for the start of each component, so it's easier to follow. (That would also help with offline analysis of the dumps to check for space efficiency and optimisation opportunities.)
It might also be nice to have a mode where the serializer stores extra data (names, types) that are verified by the deserializer, to detect bugs where it's trying to read back data in the wrong format.
Change History
comment:3 Changed 8 weeks ago by historic_bruno
This more or less already exists (see DEBUG_SERIALIZER_ANNOTATE in StdSerializer.h), though it's not very friendly and it breaks network message serialization and probably the tests. Once finished, we could enable it with the command line.

Milestone Unclassified deleted