Debuggers provide more control over the execution process and can also be used to tamper and extract data on the fly:
- GDB: The most well-known standard debugger that can be found on multiple *nix systems. It may take time to learn basic commands, but it also has several open source UI projects, including the built-in TUI. In addition, there are multiple projects extending its functionality, for example, a gdbinit syntax highlighter configuration file.
- IDA: IDA is shipped with several so-called debugging server utilities that can be executed on the required platform and be used for remote debugging (in this case, the IDA itself can run on a different machine). IDA 7.0 supports x86 (32- and 64-bit) and ARM (32-bit) architectures for debugging Linux samples.
- Radare2: As we have already mentioned, radare2 provides plenty of options for dynamic analysis, and is accompanied by a UI that supports multiple output modes.
- vdb/vtrace (part of vivisect): Previously independent tools...