[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