Tingkatkan dari gdb 7.7 ke 7.8


10

Bagaimana cara meningkatkan debugger GDB saya dari versi saat ini yaitu 7,7 ke versi berikutnya yaitu 7,8, Saya juga sedang bekerja di Ubuntu 14.04.1?

Jawaban:


13

gdb 7.8 saat ini tidak tersedia di repo terpercaya . Tetapi Anda dapat menginstalnya dari sumbernya.

Buka terminal dan ketik perintah berikut

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

Ini akan menginstal gdbdi /usr/local/bin/direktori. Seperti /usr/local/bin/yang dicari sebelum /usr/bin/setiap kali perintah dieksekusi, menjalankan gdbakan mengeksekusi gdb 7.8.

Setelah diinstal, Anda dapat memeriksa versi gdb menggunakan

gdb --version

Seharusnya output

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


Jika Anda ingin uninstall hanya menghapus gdbdari /usr/local/bin/dengan mengeksekusi

sudo rm /usr/local/bin/gdb

Sebenarnya gdbtersedia di repositori. Apa yang membuat Anda mengatakan itu bukan?
Thomas Ward

(perhatikan gdbdi repositori BUKAN 7.8. Anda mungkin ingin menambahkan klarifikasi untuk itu dalam jawaban Anda di sini)
Thomas Ward

Baik. Itu telah menambahkannya. Itu salah ketik.
g_p

1
Jawabannya tidak membahas konflik antara versi gdb yang asli dan yang baru diinstal. Selain itu, gdb tidak menyediakan sarana untuk make uninstall. Jadi seseorang harus menggunakan sudo checkinstalluntuk melacak semuanya. Tumpul make installakan membuat sakit besar jika Anda memutuskan untuk menghapus paket suatu saat nanti.
Naitree

2
Menyalin ke / usr / local / bin / gdb tidak melakukan pekerjaan untuk saya. Ketika saya menyalin ke / usr / bin, itu berhasil, tapi saya mendapatkan kesalahan berikut: Pengecualian Python <type 'exception.NameError'> Kesalahan instalasi: fungsi gdb.execute_unwinders hilang:
AlwaysLearning

2

Memperbarui GDB dari 7.7.1 ke 8.2 di 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

Jawaban teratas tidak berhasil untuk saya. Untuk beberapa alasan saya juga membutuhkan paket ini untuk menyelesaikan make:

sudo apt-get install texinfo

Maka saya sangat merekomendasikan untuk menginstal ini dengan cara yang benar . Saya menginstal checkinstallutilitas (yang akan membuat paket debian untuk melacak otomatis semua file Anda yang dihasilkan oleh make):

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

Sekarang panggil perintah ini:

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

Verifikasi bahwa ini membuat *.debfile di direktori saat ini (milik saya gdb_7.8-1_amd64.deb). Jadi sekarang mari kita instal dengan cara yang benar, silakan dan:

  1. uninstall gdb cepat
  2. mengatur jalur instal dari *.deb
  3. kemudian instal menggunakan apt-get

menggunakan perintah masing-masing:

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

Sekarang Anda memiliki paket yang diinstal dengan benar, dan Anda dapat menghapusnya menggunakan sudo apt-get remove gdbOR sudo dpkg -r gdb. Perhatikan bahwa saya menguji ini dengan gdb 8.0.1, tetapi saya menganggap itu harus bekerja untuk versi apa pun.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.