> On Thu, Jul 14, 2005 at 01:12:23AM +0200, Marcel Martin wrote: >> Tom Verhoeff a écrit : >> >begin >> > VMyClass := TMyClass.Create; >> > //VMyClass.FP := VMyClass.P; { with this assignment, it works } >> > VMyClass.FP; { this causes an Access Violation } >> >> Of course, at this point FP = nil since you didn't set it. > > Just in case, I was not understood: > > The point is that there is no stack trace with line numbers on the > (obviously correct) exception, in spite of the option -gl (even when > explicitly using SysUtils).
The problem is that the framepointer register EBP is 0 in the sigcontext. We can't solve this. (gdb) bt #0 CATCHUNHANDLEDEXCEPTION (OBJ=0x40060054, ADDR=0x0, FRAMECOUNT=0, FRAMES=0x0) at sysutils.inc:206 #1 0x0805275c in DOUNHANDLEDEXCEPTION () at except.inc:168 #2 0x08052bae in fpc_reraise () at except.inc:278 #3 0x080869af in RUNERRORTOEXCEPT (ERRNO=216, ADDRESS=0x0, FRAME=0x0) at sysutils.inc:225 #4 0x0805515e in HANDLEERRORADDRFRAME (ERRNO=216, ADDR=0x0, FRAME=0x0) at system.inc:677 #5 0x0805d50d in SIGNALTORUNERROR (SIG=11, SIGINFO=0xbffff598, SIGCONTEXT=0xbffff618) at sighnd.inc:73 #6 <signal handler called> #7 0x00000000 in ?? () #8 0x08048117 in main () at p.pp:24 (gdb) dir ~/fpc/rtl/linux/i386 Source directories searched: /home/pvreman/fpc/rtl/linux/i386:$cdir:$cwd (gdb) l 24 VMyClass.FP; { this causes an Access Violation } 25 end. (gdb) fr 5 #5 0x0805d50d in SIGNALTORUNERROR (SIG=11, SIGINFO=0xbffff598, SIGCONTEXT=0xbffff618) at sighnd.inc:73 73 HandleErrorAddrFrame(res,pointer(SigContext^.eip),pointer(SigContext^.ebp)); (gdb) p sigcontext $1 = (PSIGCONTEXT) 0xbffff618 (gdb) p sigcontext^ $2 = {GS = 0, __GSH = 0, FS = 0, __FSH = 0, ES = 0, __ESH = 0, DS = 2, __DSH = 0, EDI = 0, ESI = 0, EBP = 0, ESP = 123, EBX = 123, EDX = 134932428, ECX = 0, EAX = 3221223688, TRAPNO = 3221223684, ERR = 67584, EIP = 0, CS = 63724, __CSH = 49151, EFLAGS = 0, ESP_AT_SIGNAL = 14, SS = 4, __SSH = 0, FPSTATE = 0x0, OLDMASK = 115, CR2 = 2163270} _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal