Dear Valgrind community,

I am currently trying to use massif on a huge programming project, and I
want to isolate some allocations that aren't significant.

I use the --ignore-fn option like this:

valgrind --tool=massif --ignore-fn=SDL_CreateRGBSurface
--ignore-fn='CCircletechString::DebugUpdateL()'
--ignore-fn='CSDLUtil::CreateFontTextureBuffer(MShineFont&,unsigned
int,unsigned int)' (etc etc etc) ./a.out

Now... some of the ignores are respected, for example
CCircletechString::DebugUpdateL(), and some of them aren't, for example
CSDLUtil::CreateFontTextureBuffer(MShineFont&,unsigned int,unsigned
int). It is always the same ignores that aren't respected (the
respecting behavior does not change between massif runs). The
non-respected ignores show up in the final memory log.

Many, but not all the ignores that aren't respected are ignores of
static C++ methods.

The non-respected method
CSDLUtil::CreateFontTextureBuffer(MShineFont&,unsigned int,unsigned int)
returns something, but
even if I try to overwrite the ignore like this:

valgrind --tool=massif --ignore-fn=SDL_CreateRGBSurface
--ignore-fn='CCircletechString::DebugUpdateL()'
--ignore-fn='TFontTextureBuffer*
CSDLUtil::CreateFontTextureBuffer(MShineFont&,unsigned int,unsigned
int)' (etc. etc. etc.) ./a.out

it does not help at all.

Is it possible that --ignore-fn does not work with static C++ methods?

Using the --verbose flag while running massif seems to indicate that all
the --ignore-fn options are parsed:

0 ... SDL_CreateRGBSurface
1 ... CCircletechString::DebugUpdateL()
2 ... CSDLUtil::CreateFontTextureBuffer(MShineFont&,unsigned
int,unsigned int)

etc.

The code is a mixture of C (about 5 per cent of the code) and C++ (the
rest of the code).

My version of valgrind is 3.6.1. I compiled valgrind 3.7.0 from sources
to test it, it (mis)behaves the same.

The Linux kernel is 3.2.

Any help is appreciated.

Marian Kechlibar


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to