edb is a cross platform AArch32/x86/x86-64 debugger. It was inspired by Ollydbg, but aims to function on AArch32, x86, and x86-64 as well as multiple OS's. Linux is the only officially supported platform at the moment, but FreeBSD, OpenBSD, OSX and Windows ports are underway with varying degrees of functionality.
edb is available under the GPL 2 license, see the COPYING for details.
NOTE: This README now only covers the most essential documentation, for more complete documentation see the wiki
When cloning the repo, please use git's --recursive
flag to ensure that the
sub-modules will be properly cloned and updated to the correct versions.
Here is an example:
git clone --recursive https://github.com/eteran/edb-debugger.git
Compiling edb is generally quite simple. The latest release of edb currently depends on the following packages:
Dependency | Version Required |
---|---|
GCC/Clang | Supporting C++14 |
Qt | >= 5.2 |
Boost (Headers Only) | >= 1.35 |
Capstone | >= 3.0 |
Graphviz | >= 2.38.0 (Optional) |
The development master branch will be increasing the minimum requirements to:
Dependency | Version Required |
---|---|
GCC/Clang | Supporting C++17 |
Qt | >= 5.9 |
Capstone | >= 3.0 |
Graphviz | >= 2.38.0 (Optional) |
Many distributions already have packages that satisify these. The wiki contains examples for some popular distributions:
- https://github.com/eteran/edb-debugger/wiki/Compiling-(Fedora)
- https://github.com/eteran/edb-debugger/wiki/Compiling-(Ubuntu)
- https://github.com/eteran/edb-debugger/wiki/Compiling-(Debian)
Once you have the necessary dependencies installed, compilation is done with
cmake
:
If you plan to just run edb out of the build directory, it's as simple as this:
$ mkdir build
$ cd build
$ cmake ..
$ make
$ ./edb
If you would like to properly install edb on the system for all users, it's only a little different:
$ mkdir build
$ cd build
$ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/ ..
$ make
$ make install
$ edb
Basic installation is simple, you may run
$ make install
In which case the plugins will be installed in /usr/local/lib/edb
and the
binaries will be installed in /usr/local/bin/
.