I used FASM programming language because is very flexible.
The main goal was to find a good debugger and I try the edb debugger.
If you try to use the Fedora dnf tool then you get an older version of this debugger.
[root@desk mythcat]# dnf install edb.x86_64
Because this package is old I try to compile it from source code from github.
Let's see this steps:
You can see the executable file named edb into the build folder.
[mythcat@desk fasm]$ git clone --recursive https://github.com/eteran/edb-debugger.git Cloning into 'edb-debugger'... remote: Enumerating objects: 192, done. remote: Counting objects: 100% (192/192), done. ... [root@desk mythcat]# dnf install git make qt5-devel gcc gcc-c++ boost-devel cmake capstone-devel ... [mythcat@desk edb-debugger]$ mkdir build [mythcat@desk edb-debugger]$ cd build [mythcat@desk build]$ cmake .. -- Boost version: 1.66.0 -- Checking for module 'capstone>=3.0.4' -- Found capstone, version 3.0.5 -- Checking for module 'libgvc>=2.38.0' -- Package 'libgvc', required by 'virtual:world', not found -- Checking for module 'double-conversion' -- Looking for C++ include double-conversion/double-conversion.h -- Looking for C++ include double-conversion/double-conversion.h - not found CMake Warning at CMakeLists.txt:56 (message): libdouble-conversion header wasn't found. 32- and 64-bit floating-point values will be showed with max_digits10 digits of precision instead of shortest representation. -- Checking for module 'gdtoa-desktop' -- Package 'gdtoa-desktop', required by 'virtual:world', not found CMake Warning at CMakeLists.txt:113 (message): gdtoa-desktop package wasn't found. 80-bit floating-point values will be showed with max_digits10 digits of precision instead of shortest representation. -- Configuring done -- Generating done -- Build files have been written to: /home/mythcat/fasm/edb-debugger/build [mythcat@desk build]$ make Scanning dependencies of target edb_autogen ...
Just run it and the debugger starts.
Into the next image you can see a simple executable run into this debugger: