Hi,

++++++++++++
Here's the version of valgrind and gcc: valgrind 3.4.1 and gcc 3.4.4
++++++++++++

I still can't solve the problem. I guess symbol table might be missed
because the so file is loaded dynamically.
Any advice? Or is there other approach to get the symbol belongs to the
addresses in log file.
Thanks.


On Tue, Apr 28, 2009 at 3:11 PM, Allen Lee <[email protected]> wrote:

> Hi guys,
>
> I use valgrind to detect memory-leak of my module C. Application A use exec
> to run application B, and then B will load my module C.so dynamically.
> Just for test, I add some defects on purpose, following the quick guide in
> http://valgrind.org/docs/manual/quick-start.html. There are two errors in
> the C.so right now. (problem 1: heap block overrun and problem 2: memory
> leak -- x not freed)
> Then, C.so is compiled with the options -O1 and -g.
>
> Here is the command line of valgrind:
> valgrind --log-file=log1 --tool=memcheck --leak-check=full
> --read-var-info=yes --trace-children=yes --error-limit=no A
>
> And ps says
> 16497 pts/1    Sl     0:14 valgrind --log-file=log1 --tool=memcheck
> --leak-check=full --read-var-info=yes --trace-children=yes --error-limit=no
> B
>
> The defects are caught successfully, but in the log file, it says like
> this:
>
> ==16497==
> ==16497== Invalid write of size 4
> ==16497==    at 0x5FFF336: ???
> ==16497==    by 0x5FFF541: ???
> ==16497==    by 0x602994E: ???
> ==16497==    by 0x832778C: TCFileioManager::loadFileioAdaptor() (in XXXXX)
> ...
> ...
> ==16497==  Address 0x5d53d08 is 0 bytes after a block of size 40 alloc'd
> ==16497==    at 0x4004A41: malloc (vg_replace_malloc.c:207)
> ==16497==    by 0x5FFF335: ???
> ==16497==    by 0x5FFF541: ???
> ==16497==    by 0x602994E: ???
> ==16497==    by 0x832778C: TCFileioManager::loadFileioAdaptor() (in XXXXX)
>
> Because I don't have the source code of application B. So I don't know how
> B load C.so. What I need to do is just put it at specific path so that B can
> find it.
> It seems like valgrind doesn't know what the symbols are.
> Can valgrind load the symbol table of a dynamic loaded library? Or, what
> option did I miss?
>
> Thank you.
> - Allen
>
>
>
------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users

Reply via email to