[Lazarus] Compiling/linking/debugging package with generics

Donald Ziesig donald at ziesig.org
Mon Nov 27 19:15:36 CET 2017


Hi All!

I have been having a problem for a long, long time when 
developing/debugging code which is included in a *package* and which 
contains *generics*.

It took me years :'(, but I finally figured out what I was doing so that 
I could cause the issue to appear consistently. :-[

My usual debugging process is:

 1. Edit the library code
 2. Compile/Run
 3. Debug.

My current insight is:

What would happen was that changes made to the library code would 
compile, but not be included in the code which specializes the generic 
item.  When I entered the debugger, I could see the newly changed code, 
but single-stepping *ignored* my changes.  If I let the program run 
without debugging, the resulting behavior was the *same as it was before 
the edit*.

I have a work around for this (when I remember to use it):

 1. Edit the library code
 2. Compile the package
 3. Use *Run | **Cleanup and build ...*
 4. Debug

TL;DR   Library packages which declare generics do compile, but do not 
get included in the code that specializes them unless I "Cleanup and 
build" the whole program.  (Workable, but much *slower* than programs 
without generics).

I searched the bug tracker, but did not see anything resembling this 
problem.  I would submit a bug report but I'm not sure whether this is 
an IDE problem, a package problem or a compiler/linker problem.  Would 
someone more familiar with this part of the architecture give me pointers?

Thanks,

Don Ziesig


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20171127/5a2a7e72/attachment.html>


More information about the Lazarus mailing list