On 20/12/2011 15:13, Antonio Fortuny wrote:
Le 20/12/2011 14:27, Martin a écrit :
The first steep I suggest would be to check my suspicion, that the address given in the error is indeed wrong
"Error accessing memory address 0x72aa47b8"

When reaching the breakpoint, before doing the fatal single step, please open the disassembler window. Note the current address, as well as look for any jump. (or copy and paste around 20 lines of assembler and mail them)

00402EB6 895dd4                   mov    %ebx,-0x2c(%ebp)
00402EB9 e8e2a70000               call   0x40d6a0 <fpc_initializeunits>
:-\ SyncFlat.lpr:36 SyncFlatDaemon := TSyncFlatDaemon.Create(nil); <<< instruction pointer
00402EBE ba54065d00               mov    $0x5d0654,%edx
00402EC3 b900000000               mov    $0x0,%ecx
00402EC8 b800000000               mov    $0x0,%eax
00402ECD bb54065d00               mov    $0x5d0654,%ebx
00402ED2 ff93c4000000             call   *0xc4(%ebx)
00402ED8 a300606400               mov    %eax,0x646000
SyncFlat.lpr:37                   try


Is the constructor virtual? or do you use Interfaces ? "type TSyncFlatDaemon = class(TBase, SomeInterface)"

step into in assembler screen works: Create in line 36 is entered and step into continues until I hit step over. The error screen appears immediately. But if I display the assembler screen again and hit step into it continues to work.

That confirms my suspicion:
The address address 0x72aa47b8 is not at all in your exe.
- Either fpc wrote the wrong address
- the linker may have gotten it wrong
- gdb has a bug

If you step in the assembler window then it is single asm instr. stepping. GDB probably does this without the debug info. So it isn't affected

Unfortunately I don't have time enough. I'll do the job with my Win2003 server x86_64 but I'll come back first week of next year.
It has to work with W32 too.
Thank you very much for your effort anyway

Well I will be gone for a few days myself

--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus.freepascal.org
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to