a big time consumer is the environment. (See "Run Param" "Environment")
Each of that values must be send to gdb (despite some gdb ignore it due to a gdb bug). That is a lot of GDB commands issued.
Also, the IDE performs some tests at startup, to collect some info, it will need later.
See "debugger output" in View > debug windows.
OR Install LazIdeLogger package, then go to tools menu, and choose logging.
- Enter a logfile (or compile IDE with console ( -WC )
- Enable DBG_CMD_ECHO to see gdb communications,
There you can also watch the debugger state.
--------------
IMHO startup time is not the big issue (it is for beginners, who work an small projects, needing many runs to find all the issues.
Working on a big project, startup time becomes less important. After all it will take much longer to step through the project, and reach the location you are interested in.
E.g an error in a function called from a loop: You need to reach the a breakpoint in the loop 5 times, only then, you can break in the function that you need to debug (because only then the error will show)
Much more annoying to me, is the time it takes to evaluate watches.
It does not matter with one or 2. But have a list of 20 watches. Including array-slices, and record/objects.