[Digikam-devel] Include file firstrunUI.h missing, other beginner questions

Gilles Caulier caulier.gilles at kdemail.net
Wed Apr 5 20:50:40 BST 2006


Le Mercredi 5 Avril 2006 23:03, Peter Heckert a écrit :
> Hello Marcel & Gilles,
>
> Marcel Wiesweg wrote:
> >> Thank you very much.
> >> I did this and first had the same behavior.
> >> However after about 10 minutes the program was alive again and it
> >> stopped again at the breakpoint.
> >
> > I do not know if enable-debug=full sets -O0, if it is -O2 single stepping
> > is not so much reliable (sometimes strange line numbers and so on). I
> > usually do 90% of my debugging with debug statements because I consider
> > running gdb as a bit cumbersome (perhaps because of me not using
> > Kdevelop).
>
> I know about these problems, however my expierience comes from Symantec
> C++ and is older than 15 years ;-)
> In this case it should still be possible to step into assembly code, and
> so this wouldnt confuse me.
>
> Anyway, I want to use kdevelop, because visual debugging is very useful
> for me especially when unknown objects and inheritance hierarchies come
> into play. It is much easier to follow program flow and to examine
> unknown code.
>
> Mainly I want to examine (and possibly modify) variables in my own
> plugin while the program runs.
>
> The above mentioned delay happens only on the first invocation, when I
> restart kdevelop then it doesnt happen again.
>
> When I rebuild the whole project then it happens again, there is a delay
> of more than 10 minutes and the system monitor shows 100% cpu load
> during the delay period.
>
> I have found out that the execution pointer is after the very first
> "new" invocation when the delay is over.
>
> The code:
>
>
> Breakpoint here--->    int w = (int)((m_radius + m_lookahead + m_damping
> + m_phase) * 4.0 + 40.0);
>
>      // NOTE: commented from original implementation
>      // if (radius < m_lookahead) w = m_lookahead * 4.0 + 40.0;
>
>      float csmooth = m_csmooth;
>
>      // Raw Filter preview
>
>      if (csmooth >= 0.99) csmooth = 1.0;
>
>      // Allocate and init buffers
>
> Delay happens, when this line is invoked:
>      uchar *src    = new uchar[ QMAX (width, height) * bytes ];
> (This should allocate about some kilobytes of data only)
> Execution pointer is here (**), when delay is over.
> Afterwards everything is ok and program and debugger is working fine.
>
> **->uchar *dest   = new uchar[ QMAX (width, height) * bytes ];
>      float *data   = new float[ QMAX (width, height) + 2*w ];
>      float *data2  = new float[ QMAX (width, height) + 2*w ];
>
> So I believe, that some profiler or other (valgrind?) initialization
> causes the delay.
>
> Is there an easy way to disable this?
>
> When I developed the gimp plugin, I had a compile-test turnaround time
> of 15 seconds only ;-) (I did not need to restart gimp when the plugin
> was recompiled)
>
> I belive, this would not be possible here, but I appreciate the new
> possibilities that kdevelop and gdb will give to me.
>
> peter
>

I cannot reproduce this problem here. 

When kdevelop is frozen, have you any messages from embedded gdb console. And 
if you start kdevelop from a console, have you any error messages ?

Witch kdevelop version you use. Here i'm under Mandriva 2006 using Kdevelop 
3.2.2

Other infos :

[dany at localhost test]$ gdb --version
GNU gdb 6.3-5mdk (Mandriva Linux release 2006.0)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-mandriva-linux-gnu".
[dany at localhost test]$
[dany at localhost test]$ gcc --version
gcc (GCC) 4.0.1 (4.0.1-5mdk for Mandriva Linux release 2006.0)
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
[dany at localhost test]$

Gilles



More information about the Digikam-devel mailing list