Seer - une interface graphique pour gdb pour Linux. (Ernie Pasveer [email protected])
Ce projet est activement travaillé. Le but est une interface graphique simple mais agréable pour gdb.
Veuillez signaler tout bug ou fonctionnalité souhaitée à mon e-mail ou créer une tâche dans ma page de projet GitHub.
Seer peut être installé soit à partir d'un gestionnaire de packages, soit à partir des sources.
Note
Assurez-vous que les conditions requises sont remplies avant l'installation.
Linux
C++17
gdb avec l'interpréteur "mi" (vérifiez en exécutant : gdb --interpreter=mi
)
CMake (3.1.0 ou plus récent)
QT6
QT5
Disponible via les gestionnaires de packages suivants :
pamac install seer
zypper install seergdb
(Recommandé) Seer peut être construit avec Qt6 en suivant les instructions ci-dessous.
https://github.com/epasveer/seer/wiki/Building-Seer---Qt6
Il peut toujours être construit avec Qt5, pour le moment en suivant les instructions ci-dessous.
https://github.com/epasveer/seer/wiki/Building-Seer---Qt5
Consultez la page Wiki de Seer sur github.
Exemples des différentes vues et boîtes de dialogue Seer.
La vue principale de Seer ressemble à ceci :
Source/Fonction/Types/Variables/Bibliothèques
Informations sur les variables/registres
Gestionnaire de codes.
Points d'arrêt, points de surveillance, points de capture, points d'impression, commandes gdb manuelles et journaux.
Informations sur le cadre de pile.
Informations sur le fil.
Prend en charge le mode de débogage inversé de Gdb.
Lorsque la boîte de dialogue d'ouverture de l'exécutable est invoquée, elle ressemble à ceci :
Tout le texte sorti de l'exécutable sera envoyé à la console Seer. La saisie de texte pour l'exécutable peut également être saisie via la console.
Normalement, Seer affichera simplement le code source sous forme d'onglets dans le gestionnaire de code. L'assemblage du programme peut également être affiché sous forme d'onglet.
Sélectionnez "Affichage-> Assembly View" et un onglet supplémentaire sera affiché à côté des onglets de code source qui montre l'assembly en cours d'exécution. Voici un exemple.
Comme pour les onglets du code source, les points d'arrêt peuvent être définis dans l'onglet assembly. L'instruction en cours est mise en surbrillance.
Double-cliquez sur les entrées dans l'onglet "Points d'arrêt" et l'onglet "Cadres de pile" affichera l'assemblage pour ces adresses.
Il existe des raccourcis clavier "Nexti" et "Stepi", tels que définis par vos paramètres de configuration. Normalement "Ctrl+F5" et "CTRL+F6". L'utilisation de "^F" dans l'onglet Assemblage affichera une barre de recherche puissante.
La fonctionnalité d'assemblage dans Seer est nouvelle. N'hésitez pas à suggérer des modifications/fonctionnalités.
Lorsque l'on regarde le contenu de la mémoire brute dans le Visualiseur de Mémoire, cela ressemble à ceci :
Mémoire | Démontage |
---|---|
Lorsque vous regardez le contenu des tableaux dans le visualiseur de tableaux, cela ressemble à ceci :
Normale | Spline | Dispersion |
---|---|---|
Deux tableaux peuvent être utilisés comme tracé XY. Par exemple, ce simple tableau de « points » forme le contour XY d’une forme.
int main() {
int points[] = {50,1,20,91,97,35,2,35,79,91,50,1};
return 0;
}
Valeurs X | Valeurs Y | Valeurs XY |
---|---|---|
Lorsque vous regardez le contenu d’une structure C/C++ ou d’une classe C++ dans le visualiseur de structure, cela ressemble à ceci. Cet exemple montre le contenu de « *this » pour la classe C++ actuelle dans laquelle se trouve Seer. Tous les membres de la structure qui sont des types de base peuvent être modifiés.
Il existe également un visualiseur de structure de base qui est plus léger, mais ne peut pas suivre les pointeurs et ne peut pas être modifié.
Lorsque vous examinez le contenu de la mémoire brute qui est une image, le visualiseur d'images peut être utilisé.
Seer est destiné à démarrer facilement le programme pour déboguer à partir de la ligne de commande. gdb dispose de plusieurs méthodes pour déboguer un programme. Donc Seer le fait naturellement aussi.
Accédez au Wiki pour voir toutes les façons d’exécuter Seer.
https://github.com/epasveer/seer/wiki/Starting-Seer
Envoyez un e-mail à [email protected] pour tout bug ou fonctionnalité. Ou créez une tâche dans ma page de projet GitHub.