CDX help plz
I am writing a small game. Everything works fine, but there is one small bug that is annoying me. Whenever I quit the game, I get an error:
"Application Error
The instruction at "0x00413adb" referenced memory at "0xddddddd1". The memory could not be "read"."
Anyone know what could be causing this? .sen
PS: I am using CDX, though I dont know if my problem has anything to do with CDX. .sen
Edited by - Senses777 on March 18, 2002 2:47:55 PM
Sounds like your simply accessing memory that hasn''t been allocated yet... Make sure you are calling a new for every pointer and of course delete when your done with it... Other than that, it''s hard to say without seeing the code.
Always remember, you''''re unique. Just like everyone else.
Always remember, you''''re unique. Just like everyone else.
Formulate a logical method for tracking the bug. For example, comment out everything possible, ao that you no longer get the error. Then start uncommenting until the error returns. That narrows it down. You can then use the same process withing the function causing the problem, etc, etc.
Sound like you are doing stuff with an unitialised pointer though - ddddddd1 is a strange address.
Sound like you are doing stuff with an unitialised pointer though - ddddddd1 is a strange address.
I have tried both those things, because I figured it was calling an uninitialized pointer, but I couldn''t find it. I will try a couple other things untill I call a function to destroy the error message =) .sen
sounds like you are calling Release() on an object you already released. since 0xddddddd1 is a debug address that pointers get set to in debug mode when freed. check and make sure you dont double Release() anything. releaseing things in a destructor can spell doom sometimes. also make sure that when you free anythng you set the pointer to NULL, and checks like:
if(Objptr)
Objptr->Release();
Objptr=NULL;
this assumes that Objptr is a dx object.
if(Objptr)
Objptr->Release();
Objptr=NULL;
this assumes that Objptr is a dx object.
Thanks a person! I will remember that. It was exactly the problem, and somehow I missed it when I stepped through the program ending. I released a pointer to an object, then I released a pointer that shouldn''t have been released at all, because it was a dynamic pointer between two objects to use the currently pointed object. Silly me! thanks again! .sen
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement