PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C++ probleme mit dlopen/DSO - dynamische libary hängt



czahn
12-05-2005, 15:50
Hallo Leute,

folgende Ausgangssituation:
Eine Socketapplikation nimmt Daten entgegen und soll diese Auswerten.
Die antreffenden Daten können unterschiedliche Formate aufweisen.
Je nach Format wird via dynamischer Libaries, quasi der Treiber, für die einzelnen Formate nachgeladen.
Innerhalb dieser Libary werden die Daten formatabhängig ausgewertet und dem Basisobjekt zugewissen.

Soweit so gut!
Beim Großteil der 'Treiber' funktioniert das ganze auch einwandfrei!
Nun habe ich zwei, ziemlich ähnliche, Libaries, welche während der Auswertung immer, an ein und der selben stelle hängen bleiben.
Der Compiler muckt nicht!

Nun habe ich schon die verschiedsten Varianten durchgetestet und bin mit meinem Latein nun ziemlich am ende!

Das Merkwürdigste ist, daß die angesprochene Libaries zu begin einwandfrei liefen!
Der Unterschied war lediglich, die Deklaration zweier Variablen (int counter=0; string tmp;) welche ich nicht mehr benötige!
Kommentiere ich diese aus, hängt die Libary!
Daher mein Verdacht, eines Programmiertechnische Fehlers innerhalb der Libary, doch auch eine komplette Neugestaltung einer der Libaries brachte nicht den erhofften Erfolg!

Meine Vermutung ist daher evtl. ein Speicherleak, z.B. beim Überladen der dynamischen Libaries!

ich hoffe ich konnte meine Problemstellung klar genug rüberbringen!
Evtl. hat jemand von euch einmal ähnliche Probleme mit DSO gehabt und kann mir weiterhelfen!
schon mal vielen dank
gruss
czahn

[0x[90]|
13-05-2005, 14:57
gdb und valgrind'e das ganze mal. Falls dir die Ausgaben nichts sagen, paste sie hier. Ohne debug-output kann man dir schwer helfen.