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](https://github.com/cgdb/cgdb) and [GDB TUI](https://dev.to/irby/making-gdb-easier-the-tui-interface-15l2). 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](https://github.com/cyrus-and/gdb-dashboard). Similar project are [GEF](https://github.com/hugsy/gef) and [PWNBG](https://github.com/pwndbg/pwndbg) 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](https://github.com/user-attachments/assets/3584c3ee-dde6-472e-a47b-8edf87031...)
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%60%60%60
**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 :)