edb is available under the GPL 2 license, see the COPYING for details. Edit for Ubuntu 13.10: ========================= sudo apt-get install libboost1.54-dev libqt5xmlpatterns5-dev qtbase5-dev qt5-default qmake make ./edb ========================= NOTE: This README now only covers the most essential documentation, for more complete documentation see the html files in the doc/ directory. Compiling --------- Compiling edb is generally quite simple. edb currently depends on the following packages: Qt >= 4.5 boost >= 1.35 (headers only) Many distributions already have packages that satisify these. Once you have QT and boost installed, it is as simple as $ qmake $ make This will build the debugger along with all plugins I have written. On certain systems your qmake may be named slightly differently, I've noticed that the Fedora Core rpms name it qmake-qt4. If you are planning on doing a make install, you likely want to specify the default plugin path, here's how you would do that. $ qmake -makefile DEFAULT_PLUGIN_PATH="/usr/lib/edb/" $ make Installing ---------- Basic installation is simple, you may run $ make install Or if you would like to specify where things should go, you probably want to use something like this make INSTALL_ROOT=/usr/ install In which case the plugins will be installed in /usr/lib/edb and the binaries will be installed in /usr/bin/. Finally, if you are doing a make install, you probably want to specify a default plugin path, this is done during the qmake process. Generating Symbols ------------------ 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 most 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 and you will have symbols based on all libraries on your system. Note that the edb_make_symbolmap script 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. NOTE: as of version 0.8.5 the symbol map format has changed slightly, you will need to regenerate your map files. Also, don't forget to set the symbols directory in the options dialog to the directory which you placed the map files!
skarr/edb-debugger
Fork with no code changes, only added docs. This project was written by Evan Teran.
C++GPL-2.0