In order to have edb take advantage of certain features (such as the Heap analyzer plugin), it will need some symbol maps to work with. The easiest way to create these is to run edb with the --symbols flag, here's an example:
$ ./edb --symbols /lib/libc.so.6 > symbols/libc.so.6.map
The name of the symbol file IS IMPORTANT, a quick and dirty way to get all symbols from existing libraries on your system would be like this:
$ for i in $(ls /lib/*.so* /usr/lib/*.so*); do ./edb --symbols $i > symbols/$(basename $i).map; done
This will take a moment, but not that long, when it is complete you will have symbols based on all libraries on your system. Note that the --symbols
function will work on regular binaries as well, not just libraries. So if you are debugging an application, you may want to generate its symbols as well. Eventually, I will build a "Regenerate Symbols" feature into edb (a plugin perhaps?), but for now, the script will have to do.
Also, don't forget to set the symbols directory in the options dialog to the directory which you placed the map files!