Emacs hata ayıklama sembolleri ile nasıl derlenir?


9

Gdb emacs kaynak kodu yürürken sorun yaşıyorum. Bence hata ayıklama sembolleri eksik.

Https://stackoverflow.com/a/4298982/2752242 adresinden bir öneri sonrasında denedim:

./configure CFLAGS="-ggdb3 -O0" CXXFLAGS="-ggdb3 -O0" LDFLAGS="-ggdb3" --with-gif=no --prefix=$HOME/local/apps/emacs-24.4/

Ancak, bu işe yaramadı.

Hata ayıklama simgeleriyle derleme konusunda talimatlar var mı? Teşekkürler!


Hata ayıklamak gerekirse: Ben böyle inşa ediyorum CFLAGS='-O0 -ggdb -g3' ./configure --enable-checking --enable-asserts. Ben bir profesyonel değilim, ama bunu nasıl yaptığınıza dair argümanlar verebileceğinizden emin değilim configure. Genellikle, bunlar programı çağırmadan önce gelir ve
config

1
Kılavuzda argümanlar üzerinden geçilmesi
npostavs 18:15

Yanıtlar:


4

Eğer emacsclientyaşamını sağlamak için üretilen ikili çalıştırırsanız gdb satır numaraları elde edebildi emacs/lib-src. Ben yoksa make installve yüklü ikili, hiçbir satır numaralarıyla bir hata ayıklayıcı eklemek için deneyin.

Benim için işe yarayan buydu:

$ CFLAGS="-ggdb3 -O0" CXXFLAGS="-ggdb3 -O0" LDFLAGS="-ggdb3" ./configure --enable-checking --with-gif=no --prefix=$HOME/local/apps/emacs-24.4/
$ make
$ gdb lib-src/emacsclient

Bu işe yaramaz:

$ CFLAGS="-ggdb3 -O0" CXXFLAGS="-ggdb3 -O0" LDFLAGS="-ggdb3" ./configure --enable-checking --with-gif=no --prefix=$HOME/local/apps/emacs-24.4/
$ make
$ make install
$ gdb $HOME/local/apps/emacs-24.4/bin/emacsclient

3
Kurulum adımı hata ayıklama simgelerini sıyrıtan bir yardımcı program çağırıyor olabilir.
wasamasa

Neden -O0'u geçiyorsun?
Heinrich Hartmann

-O0 optimizasyonları devre dışı bırakır. Optimizasyonlar, derlenmiş kod ve kaynak dosya arasında artık bir eşleme olmadığından, kodda gezinme yeteneğinizi bozar.
jobevers
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.