Często spotykane następujące ostrzeżenie z gdb:Co oznacza to ostrzeżenie?
warning: .dynamic section for XXX is not at the expected address
gdzie XXX to nazwa jakiejś biblioteki. Niedawno dostałem go dla libgobject-2.0.so. Moja aplikacja używa GTK. gdb uruchomił go bez problemów do wczoraj, kiedy zsynchronizowałem najnowszy kod z repozytorium i zbudowałem go na nowo. Od tego czasu skarży się na sekcję .dynamic. Jakie są możliwe powody? I jak mogę je rozwiązać?
Typowa dla tego: T1) aplikacja została uruchomiona i działała ze starymi plikami binarnymi, T2), następnie pliki binarne/symbole zostały "zaktualizowane" na dysku (ale aplikacja nie została ponownie uruchomiona), T3), a następnie aplikacja uległa awarii (lub wygenerowano gcore). Patrząc na znacznik czasu uaktualnienia (T2) i znacznik czasu współrzutu (T3) - można by zakładać, że użyto właściwej (zaktualizowanej) biblioteki. Złe założenie! Wiedząc o tym wcześniej, zaoszczędziłbym mój dzień ... Nasze aplikacje używają niestandardowego środowiska startowego LD_LIBRARY/etc, więc musieliśmy wyczerpać wszystkie pozostałe opcje, zanim staniemy przed oczywistymi (ludzie z branży IT po prostu zapomnieli ponownie uruchomić aplikacje po aktualizacji) – Vlad