JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=46be798e9cae3cbca58ddb9be5addf49Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Riesenproblem

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 22.09.2003, 20:39    Titel: Riesenproblem Antworten mit Zitat

Hi!

Ich hab heute einfach in eine meiner Klassen eine neue Variable unter private: reingeschrieben.

int zahl;

aufeinmal kamen nach dem Beenden des Programms Zeigerfehler. Komisch! Dann kommentiere ich die Zeile //int zahl; und siehe da funktioniert wieder. Gehe ich also gleich mal in den Debug-Modus, ohne die Zeile wieder auszukommentieren. Aufeinmal krieg ich eine sehr tolle Fehlermeldung, nachdem das Programm gleich nach dem Laden stehengebleiben ist:
Code:
   // TEMPLATE STRUCT less
template<class _Ty>
   struct less : binary_function<_Ty, _Ty, bool> {
   bool operator()(const _Ty& _X, const _Ty& _Y) const
   --> genau hier:   {return (_X < _Y); }
   };


Hab jetzt schon ne Stunde alle Zeilen aus der Initiate() und der Render() Funktionen auskommentiert aber es will einfach nicht funktionieren, woran könnte das Problem leigen? Wenn einer einen Hinweis hat, der das Problem genauer spezifizieren könnte...
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 22.09.2003, 20:45    Titel: Antworten mit Zitat

Dein Code ist noch ziemlich verwirrend, du solltest schon ein wenig mehr liefern.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 22.09.2003, 21:19    Titel: Antworten mit Zitat

Jajaja, ich glaub wenn ich euch die mindestens 2000 Zeilen Code liefern würde, die das betreffen könnte, dann werd ihr auch nicht schlauer...ist so. Ich hab gedacht, ihr könntet einem Tipps geben, wenn man so und so auf vector zugreift, dann kann sowas vorkommen oder so ähnlich...

aber ich habe mit einem vector mehrere Instanzen einer Klasse gespeichert

vector<Klassenname*> KlassenVector;
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 22.09.2003, 21:27    Titel: Antworten mit Zitat

Du scheinst ein ziemlich zynischer Mensch zu sein. Vieleicht helfen dir mehr wenn du etwas netter wärst und nachdenkst was andere von dir wollen.

ICh will sicherlich keine 2000 Zeilen Text haben sondern nur deine Klasse und nicht son HEXADEZIMAL Auszug ähnlichen Müll.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 22.09.2003, 21:44    Titel: Antworten mit Zitat

Ja, meine Klasse hat rund 2000 Zeilen und was war an der oberen Aussage zynisch? Ich kann wohl nichts dafür, wenn du Aussagen falsch interpretierst. Ich hab nur gesagt, dass sowas nichts bringen würde...
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 22.09.2003, 22:31    Titel: Antworten mit Zitat

Kann schon sein, dass das etwas zynisch war, aber ich such da jetzt schon seit zwei Stundne lang rum, das lustigste ist ja, dass im Release-Modus das Teil nur Fehler nach dem Beenden bringt, wenn ich der Klasse neue Variablen hinzufüge...

Könnte es eventuell sien, dass eine Klasse eine bestimmte Größe nicht überschreiten darf?
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 22.09.2003, 22:58    Titel: Antworten mit Zitat

Nee, daran liegt es wahrscheinlich nciht, ich hab auch noch nciht so ganz den Zusammenhang, aber ich weiß, dass es jetzt nichts mit der Objekte-Klasse zu tun hat, wie anfangs gedacht, sondern mit der GrafikEngine...
Code:
DD_2D_GRAPHICS_ENGINE::~DD_2D_GRAPHICS_ENGINE()
{   
   if(NULL != lpBackBuffer)
    {
        lpBackBuffer->Release();
        lpBackBuffer = NULL;
    }

    if(NULL != lpD3DDevice)
    {
        lpD3DDevice->Release();
        lpD3DDevice = NULL;
    }
   
    if(NULL != lpD3D)
    {
        lpD3D->Release();
        lpD3D = NULL;
    }


   Info("DD_2D_GRAPHICS_ENGINE - ShutDown");
}


Wenn ich die DD_2D_GRAPHICS_ENGINE so anordne, dass sie nicht als letztes ihren Gültigkeitsbereich verliert, sondern als erstes, dann sieht man auch nciht mehr die Meldungen von den anderen einzelnen Klassen

Klasse - ShutDown

sondern nur

DD_2D_GRAPHICS_ENGINE - ShutDown

und das war's. Sad
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
LeeDiGer
Super JLI'ler



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 22.09.2003, 23:59    Titel: Antworten mit Zitat

Benutzt du die neue Variable? Wenn ja, dann kann es nur daran liegen, dass du die nicht manuell mit 0 initialisiert hast. Das wird dir im Releasemodus nicht abgenommen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
X-FILE
Super JLI'ler



Anmeldedatum: 12.07.2003
Beiträge: 349

Medaillen: Keine

BeitragVerfasst am: 23.09.2003, 00:09    Titel: Antworten mit Zitat

Also das wird dir nix bringen, weil du eh schon dahinter gekommen bist. Der Fehler liegt in einem Dekonstruktor. 100%. Ich hab selbe Probleme immer wieder...

Warum kriegst du das nicht mit F5 raus? Oder war das "int" das was es sagte??
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
TheMillenium
Dark JLI'ler



Anmeldedatum: 21.07.2002
Beiträge: 1427
Wohnort: World
Medaillen: Keine

BeitragVerfasst am: 23.09.2003, 06:21    Titel: Antworten mit Zitat

am Anfang hab ich die neue Variable mit 0 initialisiert, aber um das nur mal so zu testen, hab ich einfahc nur unte private die Variable deklariert und ich benutze sie im gesamtenquellcode nicht. Und int war eh nur ein Test, weil ich in echt 3 floats und ein int in der klasse noch brauche...


Oder kann sowas daran liegen, dass ich map, vetcor oder so nciht richtig leere, wenn das Programm beendet wird?

Ich hab herausgefunden, wenn ich die Debug-Versio starte, dann ist die Objects Klasse die erste und letzte Klasse, die geschlossen wird und danahc kommt keine andere, und bei der Retail Version sagt er das bei der GrafikENgine Klasse, die kann es aber nciht sein, weil ich genau die gleiche in einem anderen Projekt verwende, hab davon auch den Quellcode reinkopiert und es funktionierte trotzdem nciht, also es ist diese Objects-Klasse.
_________________
The source of all power is in its destiny...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
X-FILE
Super JLI'ler



Anmeldedatum: 12.07.2003
Beiträge: 349

Medaillen: Keine

BeitragVerfasst am: 23.09.2003, 12:15    Titel: Antworten mit Zitat

Hallo,

Zitat:

Oder kann sowas daran liegen, dass ich map, vetcor oder so nciht richtig leere, wenn das Programm beendet wird?


Nein denke ich nicht. Mache ich grundsaetzlich nie, solange ich nicht sicher bin, dass es so bleiben wird. Ich weiß is schlecht, aber ich aendere es am Schluß ja. Zurueck - vectro und list machen da keine Probleme. MAp hab ich noch nicht probiert...
Aber die Sache ist auch nicht, dass etwas uebrigbleibt, sonder das schon etwas weg ist, was aber laut Dekonstruktor noch da sein muss. Da ich aber davon ausgehe, dass du alles vor dem Releasen oder loeschen auf Habhaftigkeit ueberpruefst, vertsehe ich das auch nicht. Vor allem sollte er dir eigentlich anzeigen wo der Fehler liegt. Da ist F5 immer sehr zuverlaessig...
Es kann jetzt (aus meiner bescheidenen Erfahrung als Meister der Memoryleaks gesprochen...Wink) entweder an Texturlocatorn liegen, die du releasen willst, aber schon weg sind. An Meshlocatoren, an DShow und seinem Interface oder an dopplet verwendeten Listen. Das sind wohl so die haeufigsten Sachen die, zumindest ich, uebersehe. Alles andere wie Devices, Klassen, Listen, Structs usw. wird ja vorher ueberprueft.... zumeist.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum