this question ve this question'a bakıyorum backtrace_symbols()
'un çalışması için birinin -rdynamic
bayrağından derlenmesi gerekir.backtrace_symbols() hem -statik ve -dynamic ile
Ben bir test programına denedim ve çalıştığını, ama ben de -static
ile derlenmiş ve this page-static
derleyici/bağlayıcı geçirildiğinde backtrace_symbols()
çalışmaz diyor bir program yazıyorum.
Bunun için hızlı bir çözüm var mı, yoksa statik olarak bağlantılı programımda hiç bir zaman okunabilir backtrace işlevine sahip olamayacağım.
'Evet -static' benim programda zorunludur. Ayrıca libunwind ile de çalıştım ama örnek programlarım Ubuntu 12.04 x86 ve x86_64 ile bağlantı kurmuyor. Hep gibi bağlama hataları alıyorum: İkili Ubuntu libunwind ve hem _Ux86_step' için 'tanımsız referansı _Ux86_get_proc_name' için ' tanımsız referansı _Ux86_get_reg' için 'tanımsız referansı _Ux86_init_local' için' tanımsız referansı son kendinden derlenmiş libunwind indirilebilir [buradan] (http://download.savannah.gnu.org/releases/libunwind/). – Avio
@Avio 'libdwarf', libunwind'den bahsetmiştim. Ben libunwind ' – qrdl
ile bağlantı kurarken hiç bir problem yaşamadım en kısa zamanda' libdwarf 'deneyeceğim. Sadece libunwind'den bahsediyordum çünkü özel bir gereksinim olmadan başka ilginç bir alternatif olabilirdi. Libunwind'e başarıyla bağlandığınız hangi mimariyi/dağıtımı kullandınız? – Avio