[Ovmsdev] Revised memory diagnostics code
dexter at expeedo.de
Sat Nov 4 02:58:29 HKT 2017
Am 02.11.2017 um 20:16 schrieb Stephen Casner:
>> Free 8-bit 35536/217576, 32-bit 16680/43464, blocks dumped = 18
>> task=AsyncConsole total= 0 5556 26120 change= +0 +5556 +0
>> task=tiT total= 288 1080 0 change= +0 +52 +0
>> ... 5608 bytes (5328 w/o debugging overhead).
> Not sure how you calculated 5608. The total of the new blocks is
> shown in the top section as +5556, so 5296 without debugging overhead.
> I could change the code to subtract the size of the debugging
> overhead; would that be a good idea?
I thought the allocation in the "tiT" task had also been caused by the
vehicle init, but I now know it's a system task.
I think subtracting the overhead on the single allocations helps to
identify specific objects or buffers. OTOH once you know how to read the
dump, it's OK.
Thanks for the explanation. Tracked it down now: the "vehicle" strings
are the caller id members of the three EventCallbackEntry objects
created. Changing these to char* is possible, but there's also the
std::bind callback struct in there, and I suppose there won't be enough
callback registrations to make this matter.
The objects not freed on unload are the reusable EventCallbackLists, so
Michael Balzer * Helkenberger Weg 9 * D-58256 Ennepetal
Fon 02333 / 833 5735 * Handy 0176 / 206 989 26
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the OvmsDev