Opened 14 years ago

Last modified 5 years ago

#430 new task

Create binary serializer debugging code

Reported by: Philip Taylor Owned by:
Priority: Nice to Have Milestone: Backlog
Component: Simulation Keywords:
Cc: Patch:

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 (7)

comment:1 by (none), 14 years ago

Milestone: Unclassified

Milestone Unclassified deleted

comment:2 by Andrew, 14 years ago

Milestone: Backlog

comment:3 by historic_bruno, 11 years ago

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.

comment:4 by historic_bruno, 11 years ago

Owner: Philip Taylor removed

comment:5 by Yves, 10 years ago

Owner: set to Yves
Status: newassigned

comment:6 by Yves, 9 years ago

Owner: Yves removed
Status: assignednew

comment:7 by Imarok, 5 years ago

Component: UI & SimulationSimulation

Move tickets to Simulation as UI & Simulation got some sub components.

Note: See TracTickets for help on using tickets.