Forum > Lazarus

Lazarus Release Candidate 2 of 2.2.0

<< < (5/22) > >>

Lazarus takes a lot of RAM (more then 2Gb) when I start debugging (with FpDebug) small HelloWord. Is it normal?

1. Start Lazarus (it automatically loads previous simple console application) -> 120 MB of RAM
2. Set one breakpoint and press F9
3. Debugger stopped at breakpoint -> almost 2GB of RAM already allocated!

Windows 8.1, x64, Lazarus with additionally installed ancordock components.

With GDB debugger there is no such RAM issue.

For me (Win 11/64 bit, Laz 2.2.0RC2/fpc3.2.2/64 bit): empty form with button and ShowMessage(..) in its OnClick handler, breakpoint at ShowMessage --> 106 MB
(fpdebug, almost no additional components)

I would not expect that much RAM to be used...

FpDebug will load the debug info (dwarf) from the compiled exe. Even for a project like the IDE, with a lot of code, that is only about 200 or 300MB. Nothing close to a GB.
Also it will build some indexes, they are but a fraction of the info itself.

Further the dwarf is loaded by "mapping" the file to mem. So windows will only load what is needed.

==> So unless your compiled exe is over 1GB on disk....

Tested with "git main"

For a hello word console, running in the debugger I get about 150MB. (including what was used before debugging)

Debugging the IDE within the IDE, I get 900 MB.

There may be a bit more, if I force re-compilation, or if I had another project open before.

If you use gdb, then some of that mem will be used by gdb, instead of the IDE....

Do you more info, maybe an example?

Record a video:

Project with all files attached.


--- Quote from: Martin_fr on November 15, 2021, 03:19:33 pm ---
a new tag is added to fixes "lazarus-n_n_n"  (one "_n" less for the first release on the branch)
(There was a discussion to make it "release-n_n_n", but that would not make a diff in the length of the tag)

--- End quote ---

I don't get why they need "lazarus" or "release" (or anything besides the version number) at all. This is just redundant and does not carry any information at all. If the convention is to tag the release then the fact that the tag is a release is inherent.


[0] Message Index

[#] Next page

[*] Previous page

Go to full version