Game Development Community

TSE Memory Access

by James Lynch · in Torque Game Engine · 11/24/2006 (1:41 pm) · 4 replies

Greetings,

I have just (finally) compiled TSE m4.1 and after finding all the things I needed to learn and do correctly (mostly to do with linking proper files and removing the xinput.h stuff because I'm still on Win2000, then needing to compile the other pieces before the main engine) I clicked on the resulting EXE file (debug or release) and got:

The instruction at "0x00561874" referenced memory at "0x00000000". The memory could not be "read".

I was wondering if I did something wrong or if this is a known issue - what I need to do to figure this out. Many thanks.

#1
11/24/2006 (2:14 pm)
Most likely it is something you changed. Run it in the debugger and see what line of code your crashing at.
#2
11/24/2006 (3:07 pm)
I admit I'm not entirely sure what you mean for me to do, so here were my guesses:

I ran TSE_DEBUG, had it go into debug mode at the immediate crash, and this is the line it referenced in disassembly:
009440E7 mov edx,dword ptr [ecx]

I ran TSE.exe, also went into debug, and this is what I got:
00561874 mov eax,dword ptr [ecx]

(obviously the same thing except the debug executable has more instructions by that point)

Then I opened VC++ 2005 Express (the version I'm using to compile) and went to Debug-Start Debugging. It said "failed to load main.cs" (though there is a main.cs in the correct location) and the debug output window had a whole bunch of lines that read like this:

'TSE_DEBUG.exe': Loaded 'C:\Torque\TSE\example\TSE_DEBUG.exe', Symbols loaded.
'TSE_DEBUG.exe': Loaded 'C:\WINNT\system32\NTDLL.DLL', Cannot find or open a required DBG file.
'TSE_DEBUG.exe': Loaded 'C:\WINNT\system32\d3d9.dll', No symbols loaded.
The program '[2536] TSE_DEBUG.exe: Native' has exited with code 0 (0x0).

I have removed a whole bunch of lines because they were redundant, except for the fact that they listed just about every process open on my computer and I figured that was not only a lot to post in one thread but probably a security risk.

Please let me know if there is something else that I can do to help diagnostics.
#3
11/24/2006 (3:20 pm)
The asm wont be as usefull till you get someone who is really in the know.

but if you are in the debugger.
you can find the "callstack"
find the top of the callstack and get the function name. That is the culprit.
that information would be usefull to a larger audience.

they will want you to move this to the TSE forums private area.
as people like me who dont own TSE should not be viewing the high and mighty function names..
or code for that matter.
#4
11/24/2006 (5:01 pm)
Thank you, I was attempting to post there, this was the closest title I could see to the a private TSE area.