Le 20/12/2011 14:27, Martin a écrit :
On 20/12/2011 12:00, Antonio Fortuny wrote:


Le 20/12/2011 11:22, Martin a écrit :

I don't think it is a problem with the installation.

Have you tried a simple form with 3 lines in an event?
yep: it works !!
So, question: do you have an idea where to search for differences between the two projects ?
The old console program and this new one with GUI which works ?

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
00402EDD 8d4df4                   lea    -0xc(%ebp),%ecx
00402EE0 8d55dc                   lea    -0x24(%ebp),%edx
00402EE3 b801000000               mov    $0x1,%eax
00402EE8 e8438e0000               call   0x40bd30 <fpc_pushexceptaddr>
00402EED e8beaf0000               call   0x40deb0 <fpc_setjmp>
00402EF2 50                       push   %eax
00402EF3 85c0                     test   %eax,%eax
00402EF5 0f85e3000000             jne    0x402fde <main+302>
SyncFlat.lpr:39 SyncFlatDaemon.DataModuleAfterInstall(nil);
00402EFB a100606400               mov    0x646000,%eax
00402F00 ba00000000               mov    $0x0,%edx
00402F05 e866740300 call 0x43a370 <TSYNCFLATDAEMON__DATAMODULEAFTERINSTALL>
SyncFlat.lpr:43                   OK := False;
00402F0A c6051060640000           movb   $0x0,0x646010
SyncFlat.lpr:44                   SyncFlatDaemon.DataModuleStart(nil, OK);
00402F11 b910606400               mov    $0x646010,%ecx
00402F16 a100606400               mov    0x646000,%eax
00402F1B ba00000000               mov    $0x0,%edx
00402F20 e8db740300 call 0x43a400 <TSYNCFLATDAEMON__DATAMODULESTART> SyncFlat.lpr:45 AddLog(0, 'Provide 10 secs for main thread to start', esInfo);
00402F25 6888130000               push   $0x1388
00402F2A b900000000               mov    $0x0,%ecx
00402F2F baf8895c00               mov    $0x5c89f8,%edx
00402F34 b800000000               mov    $0x0,%eax
00402F39 e8a25e0300               call   0x438de0 <ADDLOG>
SyncFlat.lpr:46                   Sleep(10000);

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.

* Also you have not confirmed, that smart linking is off ( 2nd green box http://wiki.lazarus.freepascal.org/Debugger_Setup#Project_Options , do a "build" ctrl-F9 afterwards)
no -XX

* On the same page you have the dropdown for "choose debug type info" which defaults to "automatic" => try selecting "dwarf (with sets)"
Do NOT use "dwarf 3"
ok, still the same

* An other possibility, in the tree on the left select "Other" (3 below "linking"). It has a big input field "Custom Options". Enter -Xe


If none of that helps it may be necessary to look at your code.
- inline
- try except/finally
- external libraries (dll)
...

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

Antonio.
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus




--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to