Précédent   Forum du club des développeurs et IT Pro > C et C++ > Outils pour C & C++ > GDB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 05/04/2012, 19h27   #1
jenjel
Invité de passage
 
Homme
Étudiant
Inscription : mars 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2012
Messages : 2
Points : 0
Points : 0
Par défaut gdb et débogage sur PC

je voulais savoir comment lorsque je fais du débogage sur une station classique avec gdb et un processeur intel pentium par exemple, quel lien s'établit entre gdb et ce processeur ? existe t il par exemple une interface JTAG ou autre ?

Merci
jenjel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2012, 21h17   #2
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 639
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 639
Points : 11 097
Points : 11 097
Bonsoir,

Qu'appelles-tu « station classique » ? Si c'est le poste de travail que tu as l'habitude d'utiliser, alors gdb est un logiciel ordinaire qui est exécuté par ton micro-processeur. Ce n'est pas une sorte d'entité autonome extérieure qui va agir sur ta puce.

Les micro-processeurs Intel proposent des registres de déboguage. GDB va donc les utiliser puisqu'ils sont à sa disposition. En substance, ceux-ci permettent de déclencher automatiquement une exception si des conditions données d'adressage et d'accès à la mémoire. Autrement dit, on demande au micro-processeur de s'examiner lui-même.

Lorsque de tels registres ne sont pas disponibles, les débogueurs se contentent en général de modifier directement les codes opérations du programme chargé en mémoire pour y placer des instructions qui vont matérialiser en pratique les points d'arrêts.
Obsidian est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/04/2012, 22h46   #3
jenjel
Invité de passage
 
Homme
Étudiant
Inscription : mars 2012
Messages : 2
Détails du profil
Informations personnelles :
Sexe : Homme

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2012
Messages : 2
Points : 0
Points : 0
Par défaut Réponse

alors je vous remercie de votre réponse.

je veux dire par "station classique" mon PC ordinaire que ce soit avec un OS Windows 7 ou une distribution de linux. Donc là, si j'ai bien compris votre réponse, il faut que j'aille chercher le fonctionnement d'un logiciel ordinaire sur un microprocesseur pour comprendre le fonctionnement de GDB.
là je suis en train de voir une documentation de gdb internals. j'espère que ça va m'aider un peu.
jenjel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2012, 23h25   #4
Obsidian
Modérateur
 
Avatar de Obsidian
 
Homme
Chercheur d'emploi
Inscription : septembre 2007
Messages : 4 639
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 37
Localisation : France, Essonne (Île de France)

Informations professionnelles :
Activité : Chercheur d'emploi
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2007
Messages : 4 639
Points : 11 097
Points : 11 097
Citation:
Envoyé par jenjel Voir le message
Donc là, si j'ai bien compris votre réponse, il faut que j'aille chercher le fonctionnement d'un logiciel ordinaire sur un microprocesseur pour comprendre le fonctionnement de GDB.
Si tu ne sais pas encore comment fonctionne un logiciel ordinaire sur un ordinateur, alors la doc des gdb internals, ce n'est peut-être pas ce qu'il y a de plus simple pour commencer.

Un micro-processeur est un circuit capable d'effectuer à très grande vitesse un nombre fixe et restreint d'opérations simples. Un « programme » est donc littéralement une feuille de route sur laquelle se trouve une suite d'instruction à exécuter, successivement. Le micro-processeur obéit, il honore chacune d'elle si c'est possible et, à chaque fois, passe à la suivante.

Charger un de ses registres fait partie des opérations qu'il reconnaît et qu'il est capable d'exécuter. Écrire dans la mémoire aussi. Avec ces seules deux opérations, on peut déjà soit charger les registres de déboguage s'ils existent, soit modifier le code pour provoquer un arrêt à l'endroit que l'on souhaite.
Obsidian est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h46.


 
 
 
 
Partenaires

Hébergement Web