gdb: "Hiçbir sembol tablosu yüklenmedi"


93

Gdb'ye bir kesme noktası eklemeye çalışırken bu hata mesajını almaya devam ediyorum.

Bu komutları derlemek için kullandım:

Ayrıca "-g" yerine "-ggdb" yi denedim ve hala bu hata mesajını alıyorum.

Daha sonra gdb'yi çalıştırıyorum:

Gdb'de:


Oh ana demek istedim. Onu güncelledim. Ben de "-ggdb" kullanmayı denedim ve bu hala bana aynı sorunu veriyor.
user994165

Gcc ve gdb'yi tam olarak nasıl çağırdığınızı bize gösterin. Herhangi bir hatayı önlemek için kopyalayıp yapıştırın.
Piotr Praszmo

1
Komutlarımı güncelledim. Bu gerçekten tuhaf. Daha yeni çalışmaya başladı. Daha önce gdb'ye "gdb a.out" kullanarak erişiyordum ve a.out mevcut değil veya başka bir şeyle ilgili bir hata mesajı alıyordum. Sonra "exec dosyası" na geçtim. Şimdi a.out ile denedim ve "Bu GDB" i486-linux-gnu "olarak yapılandırıldı" diyor ve kesme noktaları ayarlanabilir.
user994165

oh duh yanlış dosya a.out'u belirtiyordum. Dosya adını kendi adıma değiştirmeyi düşünmeden bir gdb eğitimini takip ettim.
user994165

Yanıtlar:


61

Her şeyden önce, sahip olduğunuz şey bir nesne dosyası değil, tamamen derlenmiş bir programdır, bu yüzden .ouzantıyı bırakın . Şimdi, hata mesajının ne söylediğine dikkat edin, size sorununuzu tam olarak nasıl çözeceğinizi söyler : "Hiçbir sembol tablosu yüklenmedi. " Dosya "komutunu kullanın ."

Ya da programı komut satırından geçirin.


Üzgünüm ben bir gdb noob'um. Bu çözüm (ve bu sorudaki diğer çözümlerin hiçbiri) Windows üzerinde WSL üzerinde gdb ile çalışmıyor, benim için herhangi bir öneriniz var mı?
aderchox

142

Kaynak düzeyinde hata ayıklama bilgileri üreten fazladan -g parametresi eklemeniz gerekir. Şöyle görünecek:

Bundan sonra gdb'yi ortak bir şekilde kullanabilirsiniz.


27
Benim durumumda, bu cevap benim için sorunu çözdü, oysa kabul edilen cevap hiçbir fark yaratmadı.
frankster

8

Ben aynı sorun var ve bu takip Mesaj , benim sorun çözüldü.

Aşağıdaki 2 adımı izleyin:

  1. Optimizasyon seviyesinin olduğundan emin olun -O0
  2. -ggdbProgramınızı derlerken bayrak ekleyin

İyi şanslar!


0

Her ne zaman gccderleme makinede ve gdb test makinesi üzerinde olması farklı versiyonlarını , size dönük olabilir biçimi uyumsuzluk Debuginfo .

Bunu düzeltmek için, hata ayıklama bilgisi biçimini düşürmeyi deneyin:

Veya maç gdbiçin gcckullandığınız.


0

Bu sorunla bu sabah karşılaştım çünkü aynı yürütülebilir dosyayı FARKLI İşletim Sistemlerinde kullandım: programımı gcc -ggdb -Wall test.c -o testMac'imde (10.15.2) derledikten sonra çalıştırdımgdb VirtualBox'ımda Ubuntu'da (16.04) çalıştırılabilir dosya ile çalıştım.

Düzeltme: Ubuntu altında aynı komutla yeniden derleyin, o zaman iyi olmalısınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.