Output symbols when dumping.
Handle null modules correctly.
Use libunwind.
Test realloc too.
Get the first frame of the stack trace right.
Experiment with STL allocators.
Use an unordered_map.

Which implies C++11.