Problem mit allocations .Net und BounceChecker
-
Hallo,
sitze jetzt schon ewig... und habe bald keine Idee mehr.
habe gerade ziemlich viel code vor mir einiges auch in dlls gepackt - und ich denke der nen Haufen MemoryLeaks verursacht. Habe schon den Bounce-Checker drüber laufen lassen - 9 Memory Leaks von 1355 byte!!! - alles in dlls - ich habe kein code für die.
Wenn ich mein Programm ohne Studio starte bekomme ich merkwürdige Ergebnisse. Starte ich das Programm im Debug/Release Mode aus der .Net umgebung funktioniert alles bestens - also alle meine strings werden richtig geschrieben und ausgegeben. Warum nur? Macht .Net eine Speicherverwaltung oder sowas? Gibts es noch eine andere Möglichkeit den Fehler zu finden - ich denke, da wird irgendwo der speicher nicht mehr richtig freigegeben.....
vielleicht ein workaround????Irgend jemand eine Idee????
-
Die CLR Engine von .NET hat tatsaechlich eine eigene Speicherwaltung, wie Java's JVM, und verwendet Garbage Collection, wodurch der Zeitpunkt der Speicherfreigabe nicht bestimmbar ist.
Das gilt aber nur fuer Managed C++ Applikationen. Normale C++ Anwendungen verwenden die CLR nicht.
Welcher Art sind denn die DLLs, die Du verwendest, und Dein Programm?
Deine Fehlerbeschreibung deutet eher darauf hin, dass es sich um ein normales Memory-Leak handelt. Z.B. kann bei einem Zugriff auf nicht initialisierten Speicher ein Teil der Speicherliste der C/C++-Library ueberschrieben werden, wodurch beim Freigeben noch mehr Fehler und Luecken in die Speicherliste kommen.
Wenn Du den Source-Code der DLLs nicht hast, pruefe erstmal Deinen eigenen Code auf moegliche Fehler. Treten die Probleme nach der Behebung der Fehler immer noch auf, muss man ggf. den Hersteller der DLLs benachrichtigen, damit er den Fehler suchen und beheben kann.
Es heisst uebrigens "BoundsChecker".
-
hi danke,
mein eigener code ist soweit frei von leaks - ist wie immer schwer zu finden.... jedenfalls meckert der BounceChecker achso BoundsChecker nicht mehr. ich werd mich dann mal um die dlls kümmern muessen... grrrrpinorrix