Hallo.
Ich möchte mein Programm debuggen welches eine eigene lokale shared Lib verwendet mittels gdb/ddd.
Aber der gdb/ddd ignoriert die lokale bibliothek und versucht immer auf die Bibliothek zu zugreifen, welche im durch übergeordnete Pfade bekannt ist.
Wenn ich meine Software in der Konsole starte, definiere ich vorher den LD_LIBRARY_PATH und dann kann ich mittels ldd sehen, dass er die richtige Lib benutzt.
Im gdb/ddd scheint dies alles nciht zu klappen. wenn ich
show environment LD_LIBRARY_PATH
schreibe, gibt er mir sogar aus, dass alle Pfade richtig gesetzt sind
LD_LIBRARY_PATH = /MIL/RSN/DEV/RTS/tmp/holger:/usr/local/lib:/oracle9/app/oracle/product/9.2.0/lib:/MIL/RSN/DEV/RTS/lib/Linux-glibc-GNU4-debug:/usr/lib/jvm/jre/lib/i386/:/usr/lib/jvm/jre/lib/i386/client:/MIL/RSN/DEV/RTS/3rd_party/Linux-glibc-GNU4-debug/tcl/lib:/MIL/RSN/DEV/RTS/3rd_party/Linux-glibc-GNU4-debug/ngs/lib:/MIL/RSN/DEV/RTS/lib/Linux-glibc-GNU4-debug/kwidget:/RTS/SCS/asws_scs/libs
unter /tmp/holger liegt die richtige so-Lib. Aber beim anstarten der Software will er die dort einfach nicht nehmen und beendet sich mit der Fehlermeldung:
/MIL/RSN/DEV/RTS/tmp/holger/utils_test: undefined symbol: _ZN8nTorpDyn12getTorpDynIFEv
auf deutsch, er findet die neue Methode nciht in der Lib, weil er auf die falsche Lib schaut.
HILFE!
mfg
Holger