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 |