Finde Bug nicht wer hilft ?
-
dirneu.h ist ungefähr 600 zeilen lang. das will ich hier niemanden antun.
Gruss Peter
-
Dann musst du dir wohl selbst angucken was in dirneu passiert.
Oder sollen wir jetzt anfangen zu raten?Mein 1.Tipp ist, dass dirneu vom Wetter abhängig ist und sich somit immer ein wneig anders verhält.
-
Hallo Peter,
aus der Schilderung deiner Problematik schließe ich ohne Code-Kenntnis auf die Tatsache das dein Code nicht Reentrant ist.
Einer auf der wiki-Seite aufgeführten Punkte tritt in deinem Code auf:
* Must hold no static (or global) non-constant data.
* Must not return the address to static (or global) non-constant data.
* Must work only on the data provided to it by the caller.
* Must not rely on locks to singleton resources.
* Must not modify its own code.[1] (unless executing in its own unique thread storage)
* Must not call non-reentrant computer programs or routines.
-
Wird wohl das übliche sein: Globale Variablen (static ist in dieser Hinsicht auch global) oder undefiniertes Verhalten.
-
ich habe gerade gesehen das ich in dirneu mir speicher reserviere diesen dann aber
NICHT per delete freigeben. kann dies der fehler seien?!hier die stelle aus dirneu.h
[/code]
vector<VectorType> *mem1;
mem1=new vector<VectorType>;
vector<VectorType> *mem2;
mem2=new vector<VectorType>;
vector<VectorType> *mem3;
mem3=new vector<VectorType>;[code]
Peter
-
PeterFox schrieb:
ich habe gerade gesehen das ich in dirneu mir speicher reserviere diesen dann aber
NICHT per delete freigeben. kann dies der fehler seien?!Eigentlich nicht. Aber schon die Idee von einem Pointer auf vector lässt mir Schwindeln. Der Code ist offensichtlich ziemlicher Mist.
-
Es ist wohl echt aus der Mode geworden selbst iniative zu zeigen und Testfälle zu erstellen...
-
ja das war der Fehler, zeiger per delete gelöscht und alles ist super !

thx
Peter
-
Gibt es eigentlich einen Grund, wieso du hier Zeiger mit manueller Speicherverwaltung benutzen musst? Ich würde darauf so oft wie möglich verzichten.
-
PeterFox schrieb:
ja das war der Fehler, zeiger per delete gelöscht und alles ist super !

thx
Peter
das kann gar nicht der fehler gewesen sein - aber wie schon von SeppJ bemerkt wurde, scheint der Code wohl nicht wirklich was zu taugen...
bb