|
From: Milian W. <ma...@mi...> - 2010-09-06 17:51:15
|
Hey there, is there an option to increase the number of stack frames shown in the tracked origin in memcheck? I.e.: ==31085== Invalid read of size 4 ==31085== at 0x69721AF: KDevelop::ProjectBaseItem::d_func() const (projectmodel.h:205) ==31085== by 0x696E95A: KDevelop::ProjectBaseItem::url() const (projectmodel.cpp:353) ==31085== by 0xE28D5F7: GenericManagerListJob::startNextJob() (genericmanagerlistjob.cpp:56) ==31085== by 0xE28D9F0: GenericManagerListJob::qt_metacall(QMetaObject::Call, int, void**) (genericmanagerlistjob.moc:93) ==31085== by 0x5489809: QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) (qmetaobject.cpp:237) ==31085== by 0x5493D65: QMetaCallEvent::placeMetaCall(QObject*) (qobject.cpp:561) ==31085== by 0x5494E2D: QObject::event(QEvent*) (qobject.cpp:1248) ==31085== by 0x576E5CB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4302) ==31085== by 0x577515D: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3706) ==31085== by 0x548452A: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:726) ==31085== by 0x5487F8B: QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (qcoreapplication.h:215) ==31085== by 0x548810C: QCoreApplication::sendPostedEvents(QObject*, int) (qcoreapplication.cpp:1260) ==31085== Address 0xbf30834 is 4 bytes inside a block of size 8 free'd ==31085== at 0x4023881: operator delete(void*) (vg_replace_malloc.c:387) ==31085== by 0x696F0AE: KDevelop::ProjectFolderItem::~ProjectFolderItem() (projectmodel.cpp:475) ==31085== by 0x696DAC9: KDevelop::ProjectBaseItem::removeRow(int) (projectmodel.cpp:194) ==31085== by 0x696DAF5: KDevelop::ProjectBaseItem::removeRows(int, int) (projectmodel.cpp:200) ==31085== by 0x696D199: KDevelop::ProjectBaseItem::~ProjectBaseItem() (projectmodel.cpp:149) ==31085== by 0x696F09A: KDevelop::ProjectFolderItem::~ProjectFolderItem() (projectmodel.cpp:475) ==31085== by 0x696DAC9: KDevelop::ProjectBaseItem::removeRow(int) (projectmodel.cpp:194) ==31085== by 0x696DAF5: KDevelop::ProjectBaseItem::removeRows(int, int) (projectmodel.cpp:200) ==31085== by 0x696D199: KDevelop::ProjectBaseItem::~ProjectBaseItem() (projectmodel.cpp:149) ==31085== by 0x696F09A: KDevelop::ProjectFolderItem::~ProjectFolderItem() (projectmodel.cpp:475) ==31085== by 0x696DAC9: KDevelop::ProjectBaseItem::removeRow(int) (projectmodel.cpp:194) ==31085== by 0x6970E40: KDevelop::ProjectModel::removeRow(int) (projectmodel.cpp:838) ==31085== // need more lines here I'm not sure how many I need, but this is most definitely not enough for me as it doesn't show me the real caller that triggered the delete. Bye -- Milian Wolff ma...@mi... http://milianw.de |
|
From: Dallman, J. <joh...@si...> - 2010-09-06 18:28:02
|
Use "--num-callers=25", or any other number. This is in valgrind --help, but isn't specific to memcheck. best, -- John Dallman Parasolid Porting Engineer Siemens Product Lifecycle Management Software Industry Sector 46 Regent Street, Cambridge, CB2 1DP United Kingdom Tel: +44-1223-371554 joh...@si... www.siemens.com/plm > -----Original Message----- > From: Milian Wolff [mailto:ma...@mi...] > Sent: Monday, September 06, 2010 6:51 PM > To: val...@li... > Subject: [Valgrind-users] memcheck: increase number of stack frames > intracked origin > > Hey there, > > is there an option to increase the number of stack frames shown in the > tracked > origin in memcheck? I.e.: > > ==31085== Invalid read of size 4 > ==31085== at 0x69721AF: KDevelop::ProjectBaseItem::d_func() const > (projectmodel.h:205) > ==31085== by 0x696E95A: KDevelop::ProjectBaseItem::url() const > (projectmodel.cpp:353) > ==31085== by 0xE28D5F7: GenericManagerListJob::startNextJob() > (genericmanagerlistjob.cpp:56) > ==31085== by 0xE28D9F0: > GenericManagerListJob::qt_metacall(QMetaObject::Call, int, void**) > (genericmanagerlistjob.moc:93) > ==31085== by 0x5489809: QMetaObject::metacall(QObject*, > QMetaObject::Call, > int, void**) (qmetaobject.cpp:237) > ==31085== by 0x5493D65: QMetaCallEvent::placeMetaCall(QObject*) > (qobject.cpp:561) > ==31085== by 0x5494E2D: QObject::event(QEvent*) (qobject.cpp:1248) > ==31085== by 0x576E5CB: QApplicationPrivate::notify_helper(QObject*, > QEvent*) (qapplication.cpp:4302) > ==31085== by 0x577515D: QApplication::notify(QObject*, QEvent*) > (qapplication.cpp:3706) > ==31085== by 0x548452A: QCoreApplication::notifyInternal(QObject*, > QEvent*) > (qcoreapplication.cpp:726) > ==31085== by 0x5487F8B: > QCoreApplicationPrivate::sendPostedEvents(QObject*, > int, QThreadData*) (qcoreapplication.h:215) > ==31085== by 0x548810C: QCoreApplication::sendPostedEvents(QObject*, > int) > (qcoreapplication.cpp:1260) > ==31085== Address 0xbf30834 is 4 bytes inside a block of size 8 free'd > ==31085== at 0x4023881: operator delete(void*) > (vg_replace_malloc.c:387) > ==31085== by 0x696F0AE: > KDevelop::ProjectFolderItem::~ProjectFolderItem() > (projectmodel.cpp:475) > ==31085== by 0x696DAC9: KDevelop::ProjectBaseItem::removeRow(int) > (projectmodel.cpp:194) > ==31085== by 0x696DAF5: KDevelop::ProjectBaseItem::removeRows(int, > int) > (projectmodel.cpp:200) > ==31085== by 0x696D199: KDevelop::ProjectBaseItem::~ProjectBaseItem() > (projectmodel.cpp:149) > ==31085== by 0x696F09A: > KDevelop::ProjectFolderItem::~ProjectFolderItem() > (projectmodel.cpp:475) > ==31085== by 0x696DAC9: KDevelop::ProjectBaseItem::removeRow(int) > (projectmodel.cpp:194) > ==31085== by 0x696DAF5: KDevelop::ProjectBaseItem::removeRows(int, > int) > (projectmodel.cpp:200) > ==31085== by 0x696D199: KDevelop::ProjectBaseItem::~ProjectBaseItem() > (projectmodel.cpp:149) > ==31085== by 0x696F09A: > KDevelop::ProjectFolderItem::~ProjectFolderItem() > (projectmodel.cpp:475) > ==31085== by 0x696DAC9: KDevelop::ProjectBaseItem::removeRow(int) > (projectmodel.cpp:194) > ==31085== by 0x6970E40: KDevelop::ProjectModel::removeRow(int) > (projectmodel.cpp:838) > ==31085== > > // need more lines here > > I'm not sure how many I need, but this is most definitely not enough for > me as > it doesn't show me the real caller that triggered the delete. > > Bye > > -- > Milian Wolff > ma...@mi... > http://milianw.de |
|
From: Milian W. <ma...@mi...> - 2010-09-24 16:51:05
|
On Monday, 6. September 2010 20:27:39 Dallman, John wrote: > Use "--num-callers=25", or any other number. This is in valgrind --help, > but isn't specific to memcheck. took some time but I finally made use of it and it helped like a charm. Thanks! -- Milian Wolff ma...@mi... http://milianw.de |