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