2017-11-17 180 views
5

Yığın kullanarak statik olarak bağlantılı ikili yapıyorum ve buna hata ayıklama simgeleri eklemeye çalışıyorum (aşağıdaki: https://downloads.haskell.org/~ghc/master/users-guide/debug-info.html). Ancak GDB raporları: no debugging symbols found.Statik olarak bağlantılı ikili dosyada eksiklik hata ayıklama sembolleri

Neyi eksik? -g -rtsopts ve ld-options için: -static

ben .cabal file içinde ghc-options için ekledik.

GDB olarak çağrılır
stack install \ 
    --install-ghc \ 
    --split-objs \ 
    --ghc-options="-fPIC -fllvm -pgmlo opt -pgmlc llc" 

şu: gdb --args nodebug-exe +RTS -V0

ghc 8.2.1

Tüm kaynak kodu burada: Ben şu komutla yığını kullanılarak inşa ediyorum https://github.com/carbolymer/haskell-missing-debug-symbols

+1

Belki ekleyin - şerit -? '--no-strip: DWRAF hata ayıklama sembolünü tüm ifadeler için kütüphanelerde, yürütülebilir dosyalarda vb. sıyırma işlevini devre dışı bırakın – Zpalmtree

+0

@ Zpalmtree, Doğru. 'Stack install --help' içine bakmalıydım ... Cevap olarak ekleyebilirsiniz. – carbolymer

cevap

5

--no-strip hata ayıklama engeller yığın yığınında kaldırılan bilgiler.

yığın şimdi, no-kütüphane sıyırma, no-şerit kullanan cüce bilgilerle hata bulma destekler ve no-yürütülebilir sıyırma: documentation kaynaktan

Bu tür bilgilerin derlenmiş kütüphanelerden ve yürütülebilir dosyalardan kaldırılmasına ilişkin varsayılan davranışı devre dışı bırakmak için bayraklar.