Andreas Pakulat apaku at gmx.de
Thu Feb 4 01:06:52 UTC 2010

On 04.02.10 00:57:03, Andreas Pakulat wrote:
> SVN commit 1084934 by apaku:
> Split the main() function into two files and create a separate binary for each.
> This allows to run the "real app" undetached from the starter process,
> without the drawback of not unloading the duchain data that would be
> initialized (due to global statics being used there) in the starter too.

Seems to work nicely here, (debug output from main.cpp thats printed
before the process starts shows up way before the duchain message, which
btw. should be removed before the release).

For debugging kdevelop you'll need to do this (should be doable in

set follow-fork-mode child
break <kdevelop>/app/main_internal.cpp:62
.... (wait until it stops at main_internal.cpp)
set follow-fork-mode parent

The reason is that if you enable follow-child once, gdb will also try to
hook into other subprocesses like cmake or qmake runs being done. So you
need to reset it once you're in the "real app". The follow-child is
(obviously) needed to let gdb actually hook into the real app which
loads everything.

Of course the envvar is still used and hence you can just as well do 

KDEV_SESSION="uuid" gdb kdevelop.bin 

Whats missing right now is support for this:

KDEV_SESSION="uuid" gdb kdevelop

it'll load the default session in that case, but I'm too tired to re-add
the if() right now :)


You can rent this space for only $5 a week.

More information about the KDevelop-devel mailing list