Kitaplık yüklemesini nasıl izlerim?


16

Sistemde yüklü olan libboost 1.67'ye bağlı kütüphaneye bağlı bir programım var. Başlattığımda, var olmayan bir hata libboost_system.so.1.58var. LD_PRELOADve LD_LIBRARY_PATHayarlanmamış.

lddtreeyürütme bu kitaplığı bağımlılık olarak göstermez ldd, gösterir.

Kütüphanenin gerekli olduğu yerden nasıl takip edebilirim?

Yanıtlar:


16

Bir GNU sisteminde ise, uygulamanızı aşağıdakilerle çalıştırmayı deneyin:

LD_DEBUG=libs your-application

Daha LD_DEBUG=helpfazla seçenek için veya bölümüne bakın man ld.so.


tcsh üzerinde LD_DEBUG = libs python3.6 denediğimde LD_DEBUG komutu bulunamadı. TCsh alternatifi nedir?
gansub

1
@gansub envtcsh ile komutun önekini
Stéphane Chazelas

6

Program liblopost_system komutunu dlopen () kullanarak elle yüklüyorsa, dlopen () çağırıp çağırmadığını görmek için ltrace kullanarak nerede olduğunu bulabilir ve belki de ddpen () çağrılarında bir kesme noktası ayarlamak için gdb ve ardından yığın geri izlemesi oluşturma. (Ayrıca bkz . Lateks .)

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.