[Lazarus] IDE debug

Martin lazarus at mfriebe.de
Thu Apr 26 15:54:33 CEST 2012


On 26/04/2012 14:34, Antonio Fortuny wrote:
>
>
> Le 26/04/2012 14:30, Martin a écrit :
>>
>> Can you attach the source of the procedure in question (or at least 
>> some lines of it) AND the assembler (from asm debug win) for the line 
>> in question and at least the 2 surrounding lines?
> ... blablabla ...
> procedure TForm1.*BtnOutLoadClick*(Sender: TObject);
> var
>   wDBDef: TDataBaseDef;
> begin
>   // simulate main thread execution to load the criteria
>   wDBDef := TDataBaseDef.Create(1); <-------------------------- IDE 
> break point
>   try
>     wDBDef.Separator := ';;';
>     wDBDef.Definition := EOutDbDefinition.Lines.Text;
>     Data.LoadDatabaseOutputCriteria(wDBDef);
>     Data.FilesDir := 'D:\Synchro\Logs';
>     Data.FilesDir2 := EmptyStr;
>     Data.FDBThreadPriority := tpNormal;
>     Data.FDBThreadLoopDelay := 1000;

Hm, there is a possibility, it is because of threads. (The code looks, 
like the database may be creating a thread.)

I haven't done any tests on that yet, so I can only guess. And thread 
debug support in the IDE is very minimal.
It is possible the db thread is in a library. And when gdb should single 
step, it looks at all threads, and tries a breakpoint in the dll (and 
that will fail...)

Open the thread window. You should see threads.
Check which thread is active, before hitting F8.

So I do not know, if that will help...

GDB supports controlling individual threads. But it hasn't been added to 
the IDE yet. So if the right thread is selected, and if it is due to 
threads (you might see the location of each thread, maybe the address 
from the error can be identified) then there is little else.



-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20120426/bb6ea7dc/attachment-0003.html>


More information about the Lazarus mailing list