Fonctionnement de gdb

Résolu/Fermé
grangev-TIMA Messages postés 10 Date d'inscription jeudi 5 juillet 2007 Statut Membre Dernière intervention 31 juillet 2007 - 5 juil. 2007 à 11:38
 jack - 10 mars 2012 à 11:05
Bonjour,

je cherche à savoir comment gdb fonctionne, j'entends par là: comment accède-t'il aux données? Est-ce par voie matérielle (accès direct au contenu des registres par exemple), par le biais de primitives particulières (lesquelles?), ou par un autre moyen?

S'il s'avérait que ce fut à l'aide des primitives, sont-elles en asm ou dans un autre language?

L'idée qu'il y a derrière est de pouvoir connecter une plateforme de simulation de processeurs à gdb en utilisant gdbserver, et pour l'instant, c'est pas de la tarte. Si quelqu'un pouvait me renseigner sur la manière de collecter les infos nécessaires au débbugage, ça serait génial!

Merci d'avance,

Vic
A voir également:

8 réponses

compile avec l option -g3 ou -ggdb oui oui 2g
et apres tu fais : gdb ./binary_file

fais bt (back trace) pour voir ce qu il s est passe

j espere avoir pu t aider
++
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
6 juil. 2007 à 14:36
LO
DDD permet d'exécuter gdb en mode graphique.
http://www.gnu.org/software/ddd/
0
grangev-TIMA Messages postés 10 Date d'inscription jeudi 5 juillet 2007 Statut Membre Dernière intervention 31 juillet 2007
13 juil. 2007 à 10:11
Salut,

je pense que ma question a été mal comprise: je cherche à savoir non pas ce que gdb produit, mais comment gdb est conçu. C'est à dire, le code de gdb comporte-t'il des primitives en assembleur qui vont vérifier l'état des piles, registres et autres; ou bien gdb "calcule"-t'il les @, valeurs de registres, ...

Les sources sont suffisamment denses pour que ça soit confu, donc si quelqu'un a une idée...

++
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
13 juil. 2007 à 10:59
Voila de la lecture technique
GDB Internals Manual (gziped PDF) Technical details of the internals of GDB.
http://sourceware.org/gdb/current/onlinedocs/gdbint_toc.html

9.6 Raw and Virtual Register Representations

Table of Contents

      1. Requirements
      2. Overall Structure
            2.1 The Symbol Side
            2.2 The Target Side
            2.3 Configurations
            2.4 Source Tree Structure
      3. Algorithms
            3.1 Frames
            3.2 Prologue Analysis
            3.3 Breakpoint Handling
            3.4 Single Stepping
            3.5 Signal Handling
            3.6 Thread Handling
            3.7 Inferior Function Calls
            3.8 Longjmp Support
            3.9 Watchpoints
                  3.9.1 x86 Watchpoints
            3.10 Checkpoints
            3.11 Observing changes in GDB internals
etc
 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
grangev-TIMA Messages postés 10 Date d'inscription jeudi 5 juillet 2007 Statut Membre Dernière intervention 31 juillet 2007
16 juil. 2007 à 17:09
Hello dubcek,

Merci pour l'adresse, c'est effectivement là que se trouvaient mes réponses, comme pour toutes les questions qu'on se pose sur gdb. J'espérais juste que quelqu'un le savait histoire de pas avoir à fouiller...

Pour info, il existe en effet des primitives qui vont chercher ce qu'il faut là où il faut, mais il semblerait qu'une fois qu'on a pris ce qu'on voulait, gdb n'accède plus aux données que par voie soft, mis à part pour les watchpoints matériels (en gros, il calcule le reste "à la main" pour prévoir l'état de la machine après une instruction). Par contre, je ne sais pas si les primitives sont en assembleur ou non, et finalement, je vais faire sans le savoir =).

Voili voilà, si ça peut servir à quelqu'un j'en serais ravi, mais aussi le premier surpris.

A bientôt pour de nouvelles questions toujours plus palpitantes!

Vic
0
bonjour,
je suis intéressé par le même sujet que vous.
est il possible de nous fournir un autre lien pour ce document ?

Merci
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
10 mars 2012 à 07:55
hello
Google est ton ami
Se mettre à GDB en 5 minutes
0
oui j'ai vu qu'il ya plein de tuto sur gdb mais ce que je cherche est comment il fonctionne exactement comment il se comporte avec le processeur d'un ordinateur classique
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
10 mars 2012 à 11:02
0
Merci, c'est bon !
0