Original Post
I am getting a Data Abort error followed quickly by an access violation: The IDE (vs2005) breaks in this function: Naturally, I thought the "this" pointer was null, but when you examine it everything looks okay. The pointer and all the object's members look valid. So I've been doing some digging, trying to figure out what causes these Data Abort errors. And one site recommended looking into the assembly and seeing exactly what it was crashing on. After some work, I found that it is crashing at function offset 6c: I don't have much practical experience with assembly, but it looks like (?) de-referencing the this pointer is causing the problem. On a side note, this looked a little fishy, but I'm assuming its valid? So I guess my question is this: What could be causing this data abort error? It looks like de-referencing is causing the problem, but as I said, when I look at the this pointer in the IDE, all looks fine. Any help is greatly appreciated!
Data Abort: Thread=8382b400 Proc=802bc670 'test.exe'
The thread 'Thread::go' (0x42fe2f6e) has exited with code 0 (0x0).
AKY=00080001 PC=0002952c(test.exe+0x0001952c) RA=001d0088(test.exe+0x001c0088) BVA=28000010 FSR=00000007
Unhandled exception at 0x0002952c in test.exe: 0xC0000005: Access violation reading location 0x00000010.
inline void Graphics::setClip( int16 x, int16 y, int16 width, int16 height )
{
m_rcClip.x = x;
m_rcClip.y = y;
m_rcClip.dx = width;
m_rcClip.dy = height;
this->SetClipRect(&m_rcClip); //YELLOW Visual Studio ARROW at this line
}
; 179 :
; 180 : this->SetClipRect(&m_rcClip);
0004c e59d3008 ldr r3, [sp, #8]
00050 e2831024 add r1, r3, #0x24
00054 e59d3008 ldr r3, [sp, #8]
00058 e283200c add r2, r3, #0xC
0005c e59d3008 ldr r3, [sp, #8]
00060 e283000c add r0, r3, #0xC
00064 e5923000 ldr r3, [r2]
00068 e2833010 add r3, r3, #0x10
0006c e5933000 ldr r3, [r3]
00070 e1a0e00f mov lr, pc
00074 e1a0f003 mov pc, r3
0006c e5933000 ldr r3, [r3]