[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