Aggiornamento da gdb 7,7 a 7,8


10

Come aggiornare il mio debugger GDB dalla versione corrente che è 7.7 alla versione successiva che è 7.8, sto lavorando anche su Ubuntu 14.04.1?

Risposte:


13

gdb 7.8 non è attualmente disponibile in repository fidato . Ma puoi installarlo dal sorgente.

Apri il terminale e digita i seguenti comandi

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

Si installerà gdbnella /usr/local/bin/directory. Come /usr/local/bin/viene cercato prima /usr/bin/ogni volta che viene eseguito un comando, l'esecuzione gdbverrà eseguita gdb 7.8.

Una volta installato, puoi controllare la versione di gdb usando

gdb --version

Dovrebbe essere prodotto

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".


Se si desidera disinstallare è sufficiente rimuovere gdbdal /usr/local/bin/eseguendo

sudo rm /usr/local/bin/gdb

In realtà gdbè disponibile nei repository. Cosa ti fa dire che non lo è?
Thomas Ward

(nota che gdbnei repository NON è 7.8. Potresti voler aggiungere il chiarimento per quello nella tua risposta qui)
Thomas Ward

Ok. Lo ha aggiunto. Era un errore di battitura.
g_p,

1
La risposta non ha risolto i conflitti tra la versione originale e la nuova installazione di gdb. Inoltre, gdb non fornisce mezzi per make uninstall. Quindi uno dovrebbe usare sudo checkinstallper tenere traccia di tutto. Un smussato make installcauserà un grave dolore se si decide di disinstallare il pacchetto in futuro.
Naitree,

2
La copia su / usr / local / bin / gdb non ha funzionato per me. Quando ho copiato in / usr / bin, ha funzionato, ma viene visualizzato il seguente errore: Eccezione Python <type 'exceptions.NameError'> Errore di installazione: manca la funzione gdb.execute_unwinders:
AlwaysLearning

2

Aggiornamento di GDB dalla 7.7.1 alla 8.2 su 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 risposta migliore non ha funzionato per me. Per qualche motivo avevo anche bisogno di questo pacchetto per completare il make:

sudo apt-get install texinfo

Quindi consiglio vivamente di installarlo nel modo corretto . Ho installato l' checkinstallutility (che creerà un pacchetto debian per tracciare automaticamente tutti i tuoi file generati da make):

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

Ora chiama questi comandi:

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

Verifica che questo abbia creato un *.debfile nella directory corrente (il mio era gdb_7.8-1_amd64.deb). Quindi ora installiamolo nel modo corretto, andiamo avanti e:

  1. disinstallare gdb veloce
  2. imposta il percorso di installazione di *.deb
  3. quindi installarlo utilizzando apt-get

usando questi rispettivi comandi:

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

Ora hai un pacchetto installato correttamente e puoi rimuoverlo usando sudo apt-get remove gdbOR sudo dpkg -r gdb. Nota che ho provato questo con gdb 8.0.1, ma suppongo che dovrebbe funzionare per qualsiasi versione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.