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
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
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.
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.
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager