Ich habe einen Prozess, der dlopen
und dlclose
verwendet, um eine Bibliothek zu laden/entladen. Die Bibliothek hat einige Speicherlecks, die ich mit Valgrind verfolgen möchte. Ich habe folgendes versucht:Wie können dynamisch geladene Bibliotheken mit Valgrind verfolgt werden?
LD_PRELOAD=libmylibrary.so valgrind --leak-check=full myprogram
Es funktioniert nicht. Ich bekomme einen undefinierten Symbolfehler, weil die Bibliothek von einigen Symbolen aus dem Hauptprogramm abhängt. Gibt es eine andere Möglichkeit, die Bibliothek am Ende des Programms geladen zu halten?
Welches Betriebssystem verwenden Sie? Was beobachtest du, wenn du * nicht * vorlädst? –