How to build Agrona maps that can be viewed in a debugger¶
Problem¶
When you debug a process containing Agrona maps, and you need to debug them you find that your debugger is not correctly displaying the contents.
Solution¶
When constructing the Agrona map use a constructor that allows setting shouldAvoidAllocation
to false.
Sample¶
1 |
|
shouldAvoidAllocation
is the last parameter to the Int2ObjectHashMap
hash map.
Discussion¶
Agrona will cache iterators and map entries unless shouldAvoidAllocation
is false. This is typically the norm for how Agrona is used in systems, with debugging being the only time a developer typically bumps into this problem. If you need to iterate through the key or entry set, consider if HashMaps are the correct structure for your usage.