importing a project

datax datax at cfk.homelinux.com
Mon Jan 8 00:23:30 GMT 2007


Andreas Pakulat wrote:
> On 07.01.07 13:40:49, datax wrote:
>   
>> Andreas Pakulat wrote:
>>     
>>> I think the only way for you is to either disable it completely which
>>> removes nearly all advanced-editing features from KDevelop or to really
>>> consider upgrading to 3.4 (it really works much better than 3.3 and the
>>> parser is known to not loop in certain cases anymore).
>>>   
>>>       
>> I dont think this is an upgrade issue, and here is why. Another engineer 
>> in my office can parse the u-boot-1.1.6 project from www.denx.de just 
>> fine and browse caller/callee with a RHEL installation which is, I 
>> believe, KDevelop 3.3.1.
>>     
>
> Thats an important piece of information. If 3.3.1 can parse it, 3.3.x
> with x > 1 should be able to parse it too.
>
>   
>> Therefore, I have to believe there is some setup with KDevelop that I 
>> dont understand that will allow KDevelop to properly parse a 
>> well-behaved C project. U-boot is a well behaved C project and is used 
>> in many locations for boot loaders for embedded devices using arm, ppc & 
>> mips processors.
>>     
>
> Project->Import Project and choose a proper template. I don't know what
> type of project this u-boot is, so I can't suggest which type to use.
>
> There is no way to tweak the C++ parser in KDevelop and its also not
> about well-behaved C project or not. Even a well behaved C project might
> use a C feature which is a problem for our parser.
>
>   
>> Is there some documentation you could point me to that will allow me to 
>> understand how different arguments to KDevelop and one or more 
>> configuration files that could allow some deeper understanding of why 
>> KDevelop can parse a well-behaved C project on some computers, but not 
>> others?
>>     
>
> All I can point you too are the various tutorials and the kdevelop
> handbook. You can't change the behaviour of the parser.
>
> There's one last thing you can try: Run kdevelop inside gdb and when it
> starts looping, i.e. a short while after finishing the
> import-project-dialog, send it a SIGSTOP and when gdb allows you to
> execute commands again run bt. Post the output of that here, it might
> give us a hint which code loops.
>
> Andreas
>
>   
I usually use ddd and then click the interrupt button, and here is 
KDevelop running under that scenario after it got to 50% and locked up 
while parsing u-boot-1.1.6.

Charles

[New Thread -1212818544 (LWP 3646)]
ASSERT: "part && parent" in partwidget.cpp (40)
^C
Program received signal SIGINT, Interrupt.
[Switching to Thread -1208330016 (LWP 3634)]
0x00a06a0a in QStringData::deleteSelf () from 
/usr/lib/qt-3.3/lib/libqt-mt.so.3
(gdb) bt
#0  0x00a06a0a in QStringData::deleteSelf () from 
/usr/lib/qt-3.3/lib/libqt-mt.so.3
#1  0x010f860b in Lexer::tokenize () from /usr/lib/libkdevcppparser.so.0
#2  0x010f8765 in Lexer::setSource () from /usr/lib/libkdevcppparser.so.0
#3  0x010e65dc in Driver::parseFile () from /usr/lib/libkdevcppparser.so.0
#4  0x062c406d in CppSupportPart::slotParseFiles () from 
/usr/lib/kde3/libkdevcppsupport.so
#5  0x062ca449 in CppSupportPart::qt_invoke () from 
/usr/lib/kde3/libkdevcppsupport.so
#6  0x006e8bea in QObject::activate_signal () from 
/usr/lib/qt-3.3/lib/libqt-mt.so.3
#7  0x00a74ace in QSignal::signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#8  0x007073b7 in QSignal::activate () from 
/usr/lib/qt-3.3/lib/libqt-mt.so.3
#9  0x0070fff3 in QSingleShotTimer::event () from 
/usr/lib/qt-3.3/lib/libqt-mt.so.3
#10 0x0067fe6b in QApplication::internalNotify () from 
/usr/lib/qt-3.3/lib/libqt-mt.so.3
#11 0x006812e9 in QApplication::notify () from 
/usr/lib/qt-3.3/lib/libqt-mt.so.3
#12 0x049e5d82 in KApplication::notify () from /usr/lib/libkdecore.so.4
#13 0x00673c72 in QEventLoop::activateTimers () from 
/usr/lib/qt-3.3/lib/libqt-mt.so.3
#14 0x006281df in QEventLoop::processEvents () from 
/usr/lib/qt-3.3/lib/libqt-mt.so.3
#15 0x006993f0 in QEventLoop::enterLoop () from 
/usr/lib/qt-3.3/lib/libqt-mt.so.3
#16 0x006992a6 in QEventLoop::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#17 0x0067f97f in QApplication::exec () from 
/usr/lib/qt-3.3/lib/libqt-mt.so.3
#18 0x0804dc7a in QWidget::setUpdatesEnabled ()
#19 0x001b6f2c in __libc_start_main () from /lib/libc.so.6
#20 0x0804d051 in QWidget::setUpdatesEnabled ()
(gdb)




More information about the KDevelop mailing list