GDBFrontend est un débogueur graphique, facile, flexible et extensible.
Installation
Package Deb (Debian / Ubuntu / KDE Neon)
Vous pouvez installer GDBFrontend avec un package deb pour les distributions basées sur Debian.
Vous pouvez l'installer avec les commandes suivantes :
echo "deb [trusted=yes] https://oguzhaneroglu.com/deb/ ./" | sudo tee -a /etc/apt/sources.list > /dev/null
sudo apt update
sudo apt install gdbfrontend
Après l'avoir installé avec APT, vous obtiendrez les mises à jour des nouvelles versions avec APT upgrade.
Vous pouvez obtenir les mises à jour avec les commandes suivantes :
sudo apt update
sudo apt upgrade gdbfrontend
et vous pouvez l'exécuter :
gdbfrontend
L'obtenir à partir de GIT
Vous pouvez télécharger la dernière version des codes sources et l'exécuter.
Prérequis
- GDB => 8.2 (avec python3)
- python3
- tmux
Vous pouvez exécuter gdb-frontend avec les commandes suivantes :
git clone https://github.com/rohanrhu/gdb-frontend.git gdb-frontend
cd gdb-frontend
./gdbfrontend
et vous pouvez l'ouvrir avec :
http://127.0.0.1:5551/terminal/
ou sans terminal :
http://127.0.0.1:5551/
Vous pouvez ouvrir le shell GDB avec la commande :
tmux a -t gdb-frontend
Flatpak
Le package Flatpak des un TODO.
./gdbfrontend
$ gdbfrontend --help
GDBFrontend is a easy, flexible and extensionable gui debugger.
Options:
--help, -h: Shows this help message.
--version, -v: Shows version.
--gdb-executable=PATH, -g PATH: Specifies GDB executable path (Default is "gdb" command on PATH environment variable.)
--tmux-executable=PATH, -tmux PATH: Specifies Tmux executable path (Default is "tmux" command on PATH environment variable.)
--terminal-id=NAME, -t NAME: Specifies tmux terminal identifier name (Default is "gdb-frontend".)
--listen=IP, -l IP: Specifies listen address for HTTP and WS servers.
--port=PORT, -p PORT: Specifies port range for three ports to (Gotty: PORT, HTTP: PORT+1, WS: PORT+2).
--http-port=PORT: Specifies HTTP server port.
--server-port=PORT: Specifies WS server port.
--gotty-port=PORT: Specifies Gotty server port.
--readonly, -r: Makes code editor readonly. (Notice: This option is not related to security.)
--verbose, -V: Enables verbose output.
Options
--help,
-h
Affiche l'aide.
--version,
-v
Affiche le numéro de version.
--gdb-executable=PATH,
-g PATH
Vous pouvez spécifier le chemin de l'exécutable GDB comme cela :
gdbfrontend --gdb-executable=/path/to/gdb. (Optionel)
--tmux-executable=PATH,
-tmux PATH
Vous pouvez spécifier le chemin de l'exécutable Tmux comme cela :
gdbfrontend --tmux-executable=/path/to/tmux. (Optionel)
--terminal-id=PATH,
-t PATH
Vous pouvez spécifier l'id du terminal Tmux terminal comme cela :
gdbfrontend --terminal-id=terminal-name. (Par defaut:
gdb-frontend)
--listen=IP,
-l IP
Spécifie l'adresse d'écoute pour les servers HTTP et WS.
--port=PORT,
-p PORT
Spécifie la plage de ports pour les 3 ports nécessaires (Gotty: PORT, HTTP: PORT+1, WS: PORT+2).
--http-port=PORT
Spécifie le port du serveur HTTP.
--server-port=PORT
Spécifie le port du serveur WS.
--gotty-port=PORT
Spécifie le port du serveur Gotty.
--readonly, -r
Passer l'éditeur de code en lecture seule. (Note: Cette option ne concerne pas la sécurité)
--verbose,
-v
Permet l'affichage bavard.
Dépannage
Processus Zombies
Quelque fois GDB et gdb-frontend peuvent ne pas se fermer correctement. Dans ce cas, vous pouvez terminer me shell de gdb-frontend.
tmux kill-session -t gdb-frontend
Trucs et astuces relatifs à GDB
- GDB ne donne pas les sources d'un objet linké avant de franchir une ligne qui appelle une fonction à partir de l'objet lié une fois.
Vous pouvez ajouter un point d'arrêt à une ligne et la faire avancer une fois, puis vous verrez les sources de l'objet lié ci-après pendant la session.
Windows
En fait, gdb-frontend est capable de fonctionner sous Windows mais il y a de sérieux problèmes avec la version Windows de GDB, ce qui ne permet pas d'utiliser gdb-frontend sous Windows. Bien sûr vous pouvez utiliser gdb-frontend sur WSL si vous utilisez Windows 10.
Problèmes de GDB Windows
- Le thread principal de GDB se bloque pendant l'exécution du processus. (gdb-frontend comporte un mécanisme d'interruption pour corriger cela, mais ce n'est pas encore assez.)
- Le prompt de GDB Windows se bloque pendant l'exécution du processus et il y a des problèmes à l'interruption de l'application.
- La version actuelle de GDB Windows comporte Python2. Le futur GDB 9 comporte Python3 mais n'est pas encore publié.
WSL
Vous pouvez utiliser gdb-frontend sur WSL (Windows Subsystem for Linux).
Documentation
La documentation est encore en TODO.
API Documentation
La documentation de l'API est encore en TODO.
Développement de Plugin
Vous pouvez lire le
Tutoriel de Développement de Plugins.
Contributions
Vous pouvez contribuer au projet ou au développement de plugins. Tous les patches sont bienvenus.
Faire un don
Vous pouvez faire un don au projet.
Licence
GNU General Public License v3 (GPL-3)
You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) GPL-licensed code must also be made available under the GPL along with build & install instructions.
Téléchargement
Tags
RÉTRO-INGENIERIE
LINUX
CRACKING
OUTIL POUR DEVELOPPEUR
Inscription à notre lettre d'information
Inscrivez-vous à notre
lettre d'information pour vous tenir au courant de nos actualités et de nos dernières trouvailles.