[Lazarus] Another IDE interface question
Mattias Gaertner
nc-gaertnma at netcologne.de
Thu Feb 3 20:10:04 CET 2011
On Thu, 3 Feb 2011 19:52:46 +0100
Darius Blaszyk <dhkblaszyk at zeelandnet.nl> wrote:
> [...]
> >>> 2. replace the FPC executable with the profiling frontend executable. currently I do:
> >>>
> >>> //insert profiling code using TProcess
> >>> //build project using : LazarusIDE.DoBuildProject(crCompile, []);
> >>> //remove profiling code using TProcess
> >>> //execute project if LazarusIDE.ActiveProject.ExecutableType = petProgram
> >>>
> >>> however, I'm not sure if it could be done better
> >>
> >> Ideally I would replace the FPC executable by FPP and then execute LazarusIDE.DoRunProject (??) . This way I would not have to play with TProcess to insert and remove profiling code and execute the application.
> >
> > Can you explain this inserting/removing of profiling code?
> Sure. In short:
>
> I have written a simple front end for FPC called FPP. What it does is it searches all -Fu paths and inserts profiling code on each method it finds (using a modified version of fcl-passrc). Then it strips any FPP command line switches and passes the remaining switches directly to FPC. After compilation it strips the profiling code by restoring the backed up files.
>
> see also: http://wiki.lazarus.freepascal.org/fpprofiler
Ideally the procedure modifications can be done by FPC via a compiler
switch, similar to the -pg switch.
Mattias
More information about the Lazarus
mailing list