Mise à niveau de gdb 7.7 vers 7.8


10

Comment mettre à jour mon débogueur GDB de la version actuelle qui est 7.7 à la prochaine version qui est 7.8, Aussi je travaille sur Ubuntu 14.04.1?

Réponses:


13

gdb 7.8 n'est actuellement pas disponible dans un référentiel fiable . Mais vous pouvez l'installer depuis la source.

Ouvrez le terminal et saisissez les commandes suivantes

wget http://ftp.gnu.org/gnu/gdb/gdb-7.8.tar.xz
tar -xf gdb-7.8.tar.xz     
cd gdb-7.8/     
./configure
make
sudo cp gdb/gdb /usr/local/bin/gdb

Il s'installera gdbdans le /usr/local/bin/répertoire. Comme /usr/local/bin/précédemment, /usr/bin/chaque fois qu'une commande est exécutée, l'exécution gdbs'exécutera gdb 7.8.

Une fois installé, vous pouvez vérifier la version de gdb en utilisant

gdb --version

Il devrait sortir

GNU gdb (GDB) 7.8
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".


Si vous souhaitez le désinstaller simplement supprimer gdbde /usr/local/bin/par l' exécution

sudo rm /usr/local/bin/gdb

En fait , gdbest disponible dans les dépôts. Qu'est-ce qui vous fait dire que non?
Thomas Ward

(notez que gdbdans les dépôts n'est PAS 7.8. Vous voudrez peut-être ajouter la clarification pour cela dans votre réponse ici)
Thomas Ward

D'accord. Il l'a ajouté. C'était une faute de frappe.
g_p

1
La réponse n'a pas abordé les conflits entre les versions d'origine et nouvellement installées de gdb. De plus, gdb ne fournit pas de moyens pour make uninstall. Il faut donc utiliser sudo checkinstallpour garder une trace de tout. Un émoussé make installrendra la tâche très difficile si vous décidez de désinstaller le package à un moment donné dans le futur.
Naitree

2
Copier vers / usr / local / bin / gdb n'a pas fait le travail pour moi. Lorsque j'ai copié dans / usr / bin, cela a fonctionné, mais j'obtiens l'erreur suivante: Exception Python <type 'exceptions.NameError'> Erreur d'installation: la fonction gdb.execute_unwinders est manquante:
AlwaysLearning

2

Mise à jour de GDB de 7.7.1 à 8.2 sur Ubuntu 14.04:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get -y --force-yes install gdb
gdb -v
sudo add-apt-repository --remove ppa:ubuntu-toolchain-r/test
sudo apt-get update

0

La meilleure réponse n'a pas fonctionné pour moi. Pour une raison quelconque, j'avais également besoin de ce package pour compléter la marque:

sudo apt-get install texinfo

Ensuite, je recommande fortement d'installer cela correctement . J'ai installé l' checkinstallutilitaire (qui créera un paquet Debian pour suivre automatiquement tous vos fichiers générés par make):

sudo apt-get update && sudo apt-get install checkinstall

Appelez maintenant ces commandes:

wget http://ftp.gnu.org/gnu/gdb/gdb-7.8.tar.xz
tar -xf gdb-7.8.tar.xz     
cd gdb-7.8/     
./configure
sudo checkinstall

Vérifiez que cela a créé un *.debfichier dans le répertoire actuel (le mien l'était gdb_7.8-1_amd64.deb). Alors maintenant, installons-le correctement, allez-y et:

  1. désinstaller rapidement gdb
  2. définir le chemin d'installation du *.deb
  3. puis installez-le en utilisant apt-get

en utilisant ces commandes respectives:

sudo dpkg -r gdb
sudo dpkg -i ~/gdb-7.8/gdb_7.8-1_amd64.deb
sudo apt-get install -f

Vous disposez maintenant d'un package correctement installé et vous pouvez le supprimer à l'aide de sudo apt-get remove gdbOR sudo dpkg -r gdb. Notez que j'ai testé cela avec gdb 8.0.1, mais je suppose que cela devrait fonctionner pour n'importe quelle version.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.