Hello

GDB is very useful but rather difficult to use, so there are GUI and TUI interfaces for it to simplify using.
In Geany there are two GUI plugins: Debugger and Scope, as I understand Scope is more feature rich.
For Ncurses TUI we have CGDB and GDB TUI. As allways all have its pros and cons. But real revolution maybe :) happened with Python added to GDB version 7.
It allowed to make very useful and pretty TUIs.

I have wanted to share some info about such Python TUI called GDB dashboard.
Similar project are GEF and PWNBG but more advanced - for reversed engineering etc. By the way all projects are in official repos of Arch Linux.

So this is the final result of simple integration of GDB dashboard in Geany:
Geany_GDB-Dashboard.gif (view on web)

So how it's done:
1. GDB Dashboard installation
Method 1:
install it through your package manager, ex. Arch Linux:
sudo pacman -Sy gdb-dashboard
and copy .gdbinit file to your home folder
cp /usr/share/gdb-dashboard/.gdbinit ~/
Method 2:
install it directly from github:
wget -P ~ https://github.com/cyrus-and/gdb-dashboard/raw/master/.gdbinit

2. GDB Dashboard configuration (optional)
if you want to configure layouts for example, you can do it so:
mkdir ~/.gdbinit.d/
nano ~/.gdbinit.d/init
and enter the following text for example (choose layouts you need):
dashboard -layout assembly registers breakpoints stack threads

3. Geany build menu configuration (C example)
create a new Build Debug option with the following string:
gcc -g -o "%e" "%f" && gdb --quiet "./%e"
in example on picture it is configured so (only for testing):
gcc -g -o "%e" "%f" && gdb --quiet "./%e" -ex "break main" -ex "run"

That's it. I really like GDB Dashboard, but there is a question to make better integration with Geany.
Is it possible to pass to GDB markers of lines (as parameters - array for example) to using those as breakpoints or maybe it is possible with LUA or C plugin ?
I have searched info in Geany API and so on but couldn't find it.

Thanks and thanks for such a great lightweight ide as Geany :)


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <geany/geany/issues/3951@github.com>