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-8edf87031cbe)

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 or view it on GitHub:
https://github.com/geany/geany/issues/3951
You are receiving this because you are subscribed to this thread.

Message ID: <geany/geany/issues/[email protected]>

Reply via email to