Re: [Doxygen-users] Segfault
Brought to you by:
dimitri
|
From: Dimitri v. H. <di...@st...> - 2001-07-01 09:10:59
|
On Sat, Jun 30, 2001 at 08:46:13PM +0200, Berno Langer wrote:
> Hello!
>
> I have a project that uses Qt. Therefore I create a Doxygen-Documentation of
> the Qt-Classes and let Doxygen produce a "tagfile.qt".
>
> If I create the docu of my project and use the "tagfile.qt", I get a segfault.
>
> If I do the same, but don't use the "tagfile.qt", all runs as expected.
>
> Ok, I admit that the Qt-Library isn't the "small example" that Dimitri always
> requests to find the error :-)
>
> The last words of Doxygen before the segfault are:
> --8<---------------------------------------------------------------------
> Computing class relations...
> Searching for enumerations...
> Searching for member function documentation...
>
> [very much snipped]
>
> findMember(root=0x8ffc840,funcDecl=`QFontDatabase::createDatabase()',related=`(null)',overload=0,isFunc=1
> mGrpId=-1 tArgList=(nil)="(null)" mtArgList=(nil)="(null)" scopeSpec=(null)
> memberSpec=(null) memSpec=0
> findMember() Parse results:
> namespaceName=`(null)'
> className=`QFontDatabasePrivate::QFontDatabase`
> classTempList=`(null)'
> funcType=`(null)'
> funcName=`createDatabase'
> funcArgs=`()'
> funcTempList=`(null)'
> funcDecl=`QFontDatabasePrivate::QFontDatabase::createDatabase'
> related=`(null)'
> exceptions=`(null)'
> isRelated=0
> isFriend=0
> isFunc=1
>
> 1. funcName=`createDatabase'
> 2. member name exists
> 3. member definition found scopeName=`QFontDatabasePrivate::QFontDatabase'
> Member createDatabase (member scopeName=QFontDatabase) (this
> scopeName=QFontDatabasePrivate::QFontDatabase) classTempList=(null)
> Speicherzugriffsfehler
> --8<---------------------------------------------------------------------
>
> As workaround I put an if clause around the cl=fd->getUsedClasses() in
> function findClassDefinition in doxygen.cpp:
>
> if ( fd ) {
> cl = fd->getUsedClasses();
> }
>
> After that it works for me, and the resulting Documentation seems to be ok.
>
> Any hint where I should look in the docu what could be missing?
>
Your fix is correct. This is a bug.
> ---
> Gruß
>
> Berno
>
> PS: I use Doxygen 1.2.8-20010617 and the qt-copy of KDE
>
> PPS: How can I activate the debugging output of Doxygen? I converted all
> Debug::print commands that interested me to printf to find the error ...
doxygen -d debug_option [ -d debug_option ... ]
can be used for this, where "debug_option" is one of
the things mentioned in the DebugMask enum in src/debug.h
I only use these for internal debugging, so it is likely that you do not
understand the output ;-)
Regards,
Dimitri
|