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

Peter Heckert lists at hphsite.de
Wed Apr 5 22:03:41 BST 2006


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





More information about the Digikam-devel mailing list