Leif.ross Skrevet 5. desember 2012 Forfatter Del Skrevet 5. desember 2012 (endret) Fortsatt denne feilkoden: First-chance exception at 0x0133ed89 in TTTTT.exe: 0xC0000005: Access violation reading location 0xfeeefefe. Unhandled exception at 0x772215de in TTTTT.exe: 0xC0000005: Access violation reading location 0xfeeefefe. Får den tredje gangen jeg kjører generatePrimitive(). Får denne hvis jeg kommenterer ut linjen som returnerer posisjonen. Unhandled exception at 0x776f15de in OpenFPS.exe: 0xC0000005: Access violation writing location 0xdddddded Funksjonene inne i primitiveobj som setter og returnerer posisjon: void PrimitiveObj::setPos(glm::vec3 in){ boost::mutex::scoped_lock(guard); position = in; } glm::vec3 PrimitiveObj::getPos(){ boost::mutex::scoped_lock(guard); return position; } Endret 5. desember 2012 av Leif.ross Lenke til kommentar
Leif.ross Skrevet 16. desember 2012 Forfatter Del Skrevet 16. desember 2012 Spurt på stackoverflow, men fikk kun et vagt svar om hva som er galt, ikke hvordan det kan fikses eller hvorfor det skjer. http://stackoverflow...ccess-violation Deppings, har brukt alt for lang tid på dette Lenke til kommentar
OldMan Skrevet 17. desember 2012 Del Skrevet 17. desember 2012 Hei Regner med at "prim" variablen din er deklarert som vector<PrimitiveObj*>. Du har vel da også en rutine som fyller denne opp med objekter ala prim.push_back( new PrimitiveObj(x,y,z) );. Forhåpentligvis har du da også en rutine som rydder opp dette ved avslutning av prog, f.eks. slik: for( int i=0; i<prim.size(); i++ ) delete prim[i]; prim.clear(); Hvis dette er tilfelle så må du fjerne delete prop; kallet i slutten av koden din. Å kalle delete prop; er feil selv om du ikke har en rydde rutine, da den bare vil deallokere siste objektet i prim vectoren. Men ut ifra feilmld ser det ut som om du allerede har det. Lenke til kommentar
zotbar1234 Skrevet 17. desember 2012 Del Skrevet 17. desember 2012 // ... prim.clear(); Hva skulle vitsen med det være? Lenke til kommentar
OldMan Skrevet 17. desember 2012 Del Skrevet 17. desember 2012 Hva skulle vitsen med det være? Liker alltid å tømme arrays som inneholder ugyldige pekere, kan jo hende han skriver om programmet en dag til å laste flere forskjellige data i prim arrayen og da er det vel greit om den er tom. Lenke til kommentar
Leif.ross Skrevet 17. desember 2012 Forfatter Del Skrevet 17. desember 2012 Ja, har en vane for å kalle clear på en vector etter at hvert element er ryddet opp individuelt. Problemet ligger i at av og til blir pointeren som settes inn i vektoren uninitialized tydeligvis. Lenke til kommentar
GeirGrusom Skrevet 21. desember 2012 Del Skrevet 21. desember 2012 Jeg tror problemet her er å fordele ansvarsområdene til de forskjellige modulene. Den modulen som oppretter et objekt må også være ansvarlig for å frigjøre det. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå