GDB

Logiciel capture d'écran:
GDB
Détails logiciels:
Version: 8.1.1 Mise à jour
Date de transfert: 16 Aug 18
Développeur: Stan Shebs
Licence: Gratuit
Popularité: 286

Rating: 4.0/5 (Total Votes: 3)

GDB (également connu sous le nom de débogueur GNU Project) est un logiciel de ligne de commande open source et gratuit qui permet aux utilisateurs et aux développeurs de voir ce qui se passe à l'intérieur d'un autre programme. exécuté ou pourquoi une application plante à un moment donné.


Caractéristiques en un coup d'oeil

Les principales fonctionnalités incluent quatre techniques différentes pour aider les développeurs à détecter les bogues, à démarrer une application et à spécifier tout ce qui pourrait affecter son comportement, à arrêter un programme dans des conditions spécifiées, à examiner les journaux un programme pour essayer de corriger les effets d'un problème et continuer en découvrant un autre bogue. Il prend également en charge le débogage des programmes écrits dans un large éventail de langages de programmation, notamment C, C ++, Pascal , Ada, Objective-C et bien d’autres.

C'est une application en ligne de commande

Le débogueur GNU Project est toujours une application en ligne de commande. Pour l'utiliser, vous devez exécuter le fichier & ldquo; gdb & rdquo; commande dans un émulateur de terminal, puis exécutez le fichier & ldquo; help & rdquo; commande (sans les guillemets) l'invite gdb. De plus, vous pouvez également taper le code & ldquo; help all & rdquo; commande pour afficher une liste de toutes les commandes, tapez "help" suivi du nom de la commande pour afficher la documentation complète, tapez "help" suivi d'un nom de classe pour afficher une liste de commandes de cette classe, tapez "apropos word" pour les commandes liées à "word".


Liste des classes de commandes

Après avoir tapé & ldquo; help & rdquo; commande comme décrit ci-dessus, vous verrez une liste de classes de commandes, y compris les alias (affiche les alias d'autres commandes), les points d'arrêt (fait que le programme s'arrête à certains points), les données (pour examiner les données), les fichiers (pour examiner les fichiers) , internes (commandes de maintenance), obscures (fonctionnalités obscures), exécution (pour exécuter le programme), pile (pour examiner la pile), état (pour les demandes d'état), support (pour les installations de support), trace arrêter le programme) et défini par l'utilisateur (commandes définies par l'utilisateur).

Plateformes matérielles et systèmes d'exploitation pris en charge

GDB a été conçu dès le départ pour être une application multiplate-forme, fonctionnant sur des systèmes d'exploitation classiques tels que Microsoft Windows et certaines des variantes les plus populaires de Linux / UNIX. Il est pris en charge sur les plates-formes matérielles 32 bits et 64 bits.

Nouveautés dans cette version:

  • PR gdb / 22824 (description trompeuse de la nouvelle fonction Python inédite dans le fichier NEWS de GDB 8.1)
  • PR gdb / 22849 (ctrl-c ne fonctionne pas dans remote-remote)
  • PR gdb / 22907 ([Régression] gdbserver ne fonctionne pas avec les fichiers binaires de nom de fichier uniquement)
  • PR gdb / 23028 (désassemblage incohérent de vcvtpd2dq)
  • PR gdb / 23053 (Correction de la régression -D_GLIBCXX_DEBUG gdb-add-index)
  • PR gdb / 23127 ([AArch64] GDB ne peut pas être utilisé pour le logiciel de débogage utilisant des adresses virtuelles élevées)
  • Serveur PR / 23158 (gdbserver ne fonctionne plus sous Windows)
  • Points de rupture PR / 23210 ([Régression 8.1 / 8.2] Adresse de point d'arrêt Bogus ajustée de 0xf7fe7dd3 à 0xfffffffff7fe7dd3)

Nouveautés dans la version 8.1:

  • Les points d’arrêt des fonctions C ++ sont désormais définis sur toutes les étendues par défaut (& quot; appariement sauvage);
  • Prise en charge de l’insertion de points d’interruption sur les fonctions marquées avec des balises C ++ ABI;
  • Cible d'émulation arithmétique en virgule flottante lors de l'évaluation de l'expression (nécessite MPFR 3.1 ou une version ultérieure);
  • Diverses améliorations apportées aux scripts Python;
  • Amélioration du support de rouille; en particulier, les objets Trait peuvent maintenant être inspectés lors du débogage du code Rust;
  • GDB ne fait plus de suppositions sur le type de symboles sans déboguer les informations pour éviter de produire des résultats erronés et souvent déroutants;
  • Les commandes 'enable' et 'disable' acceptent maintenant une plage d'emplacements de points d'arrêt;
  • Nouvelle commande 'starti' pour lancer le programme à la première instruction;
  • Nouvelle commande 'rbreak' pour insérer un nombre de points d'arrêt via un modèle d'expression régulière (nécessite Python);
  • La commande 'ptype' prend désormais en charge l’impression du décalage et de la taille des champs dans une structure;
  • La commande 'gcore' prend désormais en charge le vidage de tous les mappages de mémoire (option de ligne de commande '-a');
  • Nouveaux raccourcis pour le mode TUI Single-Key: 'i' pour stepi et 'o' pour nexti;
  • Améliorations du serveur GDB:
  • Prise en charge de la transmission de variables d’environnement à GDBserver;
  • Prise en charge du démarrage de processus inférieurs avec un répertoire de travail initial spécifié;
  • Sur les systèmes Unix, prise en charge de l’extension globale et de la substitution de variable des arguments de ligne de commande inférieurs;
  • Diverses améliorations d’achèvement;
  • La commande utilisée pour compiler et injecter du code avec la commande 'compile' est maintenant configurable;
  • Nouvelle option de ligne de commande '--readnever' pour accélérer le démarrage de la BDG lorsque les informations de débogage ne sont pas nécessaires;
  • Prise en charge des nouvelles configurations natives suivantes:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / arm (bras * - * - freebsd *);
  • Prise en charge des nouvelles cibles suivantes:
  • FreeBSD / aarch64 (aarch64 * - * - freebsd *);
  • FreeBSD / arm (bras * - * - freebsd *);
  • OpenRISC ELF (or1k * - * - elf)
  • Suppression de la prise en charge des cibles et configurations natives suivantes:
  • Solaris2 / x86 (i? 86 - * - solaris2. [0-9]);
  • Solaris2 / sparc (sparc * - * - solaris2. [0-9]);

Nouveautés dans la version:

  • La construction de cette version de GDB nécessite désormais les outils suivants:
  • Un compilateur C ++ - 11 (par exemple, GCC 4.8 ou ultérieur);
  • GNU make version 3.81 ou ultérieure.
  • Les modifications de cette version incluent:
  • C ++: prise en charge des références rvalue
  • Améliorations des scripts Python:
  • Nouvelles fonctions pour démarrer, arrêter et accéder à un enregistrement en cours d'exécution.
  • Prise en charge de la référence Rvalue dans gdb.Type.
  • Interpréteur de commandes GDB:
  • Les commandes utilisateur acceptent maintenant un nombre illimité d’arguments.
  • Le & quot; eval & quot; La commande étend maintenant les arguments définis par l'utilisateur.
  • Prise en charge de DWARF version 5
  • (notez que son index .debug_names n'est pas encore supporté).
  • Améliorations GDB / MI:
  • Nouvelle commande -file-list-shared-libraries pour répertorier les bibliothèques partagées dans le programme.
  • Nouvelle commande -target-flash-erase, pour effacer la mémoire flash.
  • Prise en charge de FreeBSD / mips natif (mips * - * - freebsd)
  • Prise en charge des cibles suivantes:
  • Synopsys ARC (arc * - * - elf32)
  • FreeBSD / mips (mips * - * - freebsd)
  • Améliorations diverses:
  • La redirection de ligne de commande est désormais prise en charge sur les hôtes MS-Windows.
  • Prise en charge des noms de thread sur MS-Windows.
  • Prise en charge du registre PKU sur GNU / Linux.
  • Prise en charge des descriptions de cibles sur sparc32 et sparc64.
  • Nouvelle commande GDB / CLI pour effacer la mémoire flash
  • rdrand et instructions de sauvegarde / replay support.
  • La prise en charge des fonctionnalités suivantes a été supprimée:
  • Prise en charge des programmes Java compilés avec gcj
  • Prise en charge des configurations suivantes:
  • FreeBSD / alpha (alpha * - * - freebsd *)
  • GNU / kFreeBSD / alpha (alpha * - * - kfreebsd * -gnu)

Nouveautés dans la version 7.9.1:

  • PR build / 18033 (commentaire de style C ++ utilisé dans gdb / iq2000-tdep.c et gdb / compile / compile - *. c)
  • PR build / 18298 (la commande "compiler" ne peut pas trouver le compilateur si les outils configurés avec triplet au lieu de quadruplet)
  • PR tui / 18311 (SEGV aléatoire lors de l'affichage des registres en mode TUI)
  • PR python / 18299 (exception lors de l’enregistrement d’une jolie imprimante globale en mode verbeux)
  • PR python / 18066 (l'argument "mot" semble cassé dans Command.complete (texte, mot))
  • PR pascal / 17815 (Correction du comportement pascal pour les champs de classe avec testcase)
  • PR python / 18285 (le ptype expr-with-xmethod provoque le SEGV)

Nouveautés de la version 7.9:

  • Améliorations apportées aux scripts Python.
  • Compilation de code source et injection dans l'inférieur.
  • Nouvelles commandes, options, variables / options de commodité.
  • Prise en charge de MIPS SDE (mips * -sde * -elf *).
  • Meilleure gestion des signaux lors du débogage de programmes threadés.

Nouveautés dans la version 7.8.2:

  • PR symtab / 17642 ([régression 7.8] interne) -error: resolve_dynamic_struct: Assertion `TYPE_NFIELDS (type) & gt; 0 'a échoué.)
  • PR binutils / 17677 (_bfd_elf_get_synthetic_symtab s'exécute dans la complexité O (n ^ 2))
  • PR gdb / 16215 (SPARC: impossible de calculer CFA pour cette image)
  • PR gdb / 17525 (target-async: les commandes de point d'arrêt ne sont pas exécutées lorsque le programme est exécuté à partir du script -x)
  • PR cli / 17828 (terminal de régression [7.8] -batch -ex r break terminal)

Nouveautés dans la version 7.8.1:

  • PR python / 17364 (Besoin de meilleurs noms d’imprimante dans bound_registers.py)
  • PR build / 17104 (CFLAGS = & quot; -Wall -Wextra & quot; gdb / confgure --with-babeltrace échoue)
  • PR gdb / 17345 (babeltrace (1.1.2 et versions ultérieures) se plaint des données ctf générées par GDB)
  • PR build / 17298 (gcore: Impossible d’obtenir des registres: aucun processus de ce type)
  • PR python / 17342 (Xmethod Python n'est pas compatible avec Python 3)
  • PR python / 17355 (Crash sur filtres d'image Python avec arg illisible)
  • PR guile / 17367 (calcul du chemin de guilde incorrect lorsque le script pkg-config est fourni en argument avec --with-guile)
  • PR gdb / 17247 (gdb se fige sur une application multi-thread)
  • PR gdb / 17347 (régression: GDB s'est arrêté lors de l'exécution avec le processus associé)
  • PR gdb / 17407 (lecture de régression pour Linux vDSO)
  • Serveur PR / 17457 (aarch64 / gdbserver: affichage incorrect des registres à virgule flottante)
  • Serveur PR / 17487 (state- & dr_control_mirror == 0 assertion échouée dans gdbserver sous Windows)
  • PR gdb / 17472 (avec annotations, entrée lors de l'exécution au premier plan readlock / gdb)
  • PR gdb / 17471 (le fait de répéter une commande en arrière-plan le rend au premier plan)
  • PR cli / 17300 (crash en mode non-stop avec continue -a & (readline_callback_read_char () appelé sans gestionnaire!))
  • PR python / 17372 (python se bloque lors de l’affichage de help ())
  • PR python / 17408 (../../gdb/infrun.c:5256: erreur interne: switch_back_to_stepped_thread: l'assertion `! schedlock_applies (1) 'a échoué.)

Nouveautés dans la version 7.8:

  • Prise en charge de scripts.
  • Améliorations apportées aux scripts Python.
  • Nouvelles commandes, options, variables / options de commodité.
  • Améliorations du protocole distant et du serveur GDB.
  • Nouvelles configurations cibles (PowerPC64 GNU / Linux little-endian).
  • Améliorations apportées à btrace.
  • Prise en charge des tableaux automatiques de longueur variable ISO C99.
  • Les "sections de comparaison" & quot; commande fonctionne maintenant sur toutes les cibles.
  • Le "natif cible" & quot; commande se connecte maintenant à la cible native.

Nouveautés dans la version 7.7:

  • Prise en charge améliorée des scripts Python.
  • Quelques améliorations C ++.
  • Nouvelles commandes, options, variables / options de commodité.
  • Plusieurs nouvelles commandes et améliorations de GDB / MI.
  • Améliorations du protocole distant et du serveur GDB.
  • Nouvelles configurations cibles (Nios II, TI MSP430).
  • Prise en charge des données de déroulement GDB Windows x64.
  • SystemTap SDT teste la prise en charge sur AArch64 GNU / Linux.
  • Prise en charge de CTF (Common Trace Format).
  • Nouveaux scripts gcore et gdb-add-index.sh.
  • Amélioration de la prise en charge des enregistrements / répétitions de bras * -linux.
  • Suppression de la prise en charge des configurations obsolètes de NetBSD et OpenBSD. Les variantes ELF de ces configurations sont prises en charge.
  • Le & quot; set | show remotebaud & quot; Les commandes sont déconseillées en faveur de "show | show serial baud".

Nouveautés dans la version 7.6.2:

  • Point d'arrêt PR / 16251 (erreur de point d'arrêt matériel AArch64 après fourche)
  • PR gdb / 16303 (GDB 7.6.1 ne fonctionne pas avec binutils 2.24 sur MIPS16 et microMIPS)

Nouveautés dans la version 7.6.1:

  • PR tdep / 15420 (Impossible de déboguer les programmes threadés sur les nouvelles versions de x86-solaris - Solaris 10, Update 10 ou version ultérieure)
  • PR remote / 15455 (paquet distant QTro rompu)
  • PR build / 15476 (Échec de la génération dû à un type d'énumération incomplet dans utils.h)
  • Serveur PR / 15594 (la prise en charge de tls dans 64x32 x86 gdbserver n’étend pas l’adresse à 64 bits)
  • Serveur PR / 15075 (dprintf intègre & quot; suivant & quot;)
  • Serveur PR / 15434 (dprintf utilise un «continuer» synchrone même en mode non-stop)
  • PR tui / 14880 (dans les dispositions de registre fractionné, les résultats d’augmentation entraînent l’échec des assertions dans value.c)
  • PR c ++ / 15519 (GDB 7.6 est 94 fois plus lent que GDB 7.5.1 en utilisant un certain fichier core)
  • PR gdb / 15837 (GDB imprime des valeurs d’entrée pour les variables locales)
  • PR gdb / 15415 (gdb résout les liens symboliques lors de la transmission de argv [0])
  • PR cli / 15603 (le CTRL-C ne peut plus interrompre inférieur)
  • PR gdb / 15604 (régression gdbserver socket socket 7.5)

Nouveautés dans la version 7.5:

  • Prise en charge de la langue.
  • Nouvelles cibles (ABI x32, microMIPS, Renesas RL78, HP OpenVMS ia64).
  • Plus d’améliorations des scripts Python.

  • Les sondes
  • SDT (Static Defined Tracing) prennent en charge les sondes SystemTap.
  • Améliorations apportées au serveur GDB (connexions stdio, évaluation côté cible des points d'arrêt, améliorations du protocole à distance).
  • Autres améliorations diverses (possibilité d'arrêter lorsqu'une bibliothèque partagée est chargée / déchargée, printf dynamique, etc.).
  • Inverser le débogage sur ARM.
  • Le binaire "gdbtui" a été abandonné et ne peut plus être construit. Utilisez & quot; gdb -tui & quot; à la place.

Nouveautés dans la version 7.4:

  • Les lignes de lignes ambiguës sont désormais gérées de manière plus cohérente.
  • Les fonctions et les fichiers inintéressants peuvent maintenant être ignorés lors de la progression avec la fonction "Ignorer" & quot; et & quot; ignorer le fichier & quot; commandes.
  • Des commandes pour définir et obtenir la longueur maximale autorisée d'un point de surveillance matériel cible distant ont été ajoutées.
  • Les scripts Python ont été considérablement améliorés.
  • De nombreuses autres améliorations, corrections de bogues et modifications générales ont été apportées.

Nouveautés dans la version 7.1:

  • Prise en charge de nouvelles cibles (y compris un simulateur):
  • Xilinx MicroBlaze
  • Renesas RX
  • Les nouvelles fonctionnalités majeures sont:
  • Débogage multi-programmes, permettant au débogueur de contrôler plus de
  • un programme dans la même session GDB.
  • Débogage du PIE (Independent Independent Executable).
  • Il comporte également de nombreuses améliorations et corrections de bogues, notamment:
  • La prise en charge de Python a été étendue.
  • Améliorations du support C ++ (espace de noms, opérateurs de cast, corrections de bogues)
  • Améliorations du support Tracepoint.
  • Améliorations des enregistrements de processus (enregistrement / restauration du journal d’exécution, matériel
  • Support de point de surveillance).
  • Améliorations du protocole à distance (débogage du noyau Linux, nouveaux paquets
  • pour le support des points de trace)

Logiciel similaire

xtrace
xtrace

11 May 15

Valgrind
Valgrind

17 Feb 15

interruptingcow
interruptingcow

14 Apr 15

D'autres logiciels de développeur Stan Shebs

Xconq
Xconq

2 Jun 15

Commentaires à GDB

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!