Hi,
I have a problem running valgrind on os x that I cannot replicate on Ubuntu.
The problem is as follows:
I'm trying to compile a program with debugging symbols so that valgrind will
give me line numbers. I have found that if I compile a simple test program in
one go (with -g) then it contains the line numbers. However, if I compile in
two passes (i.e. compile then link) then it does not contain the line numbers.
Here's the compile command for the single pass case:
g++ -g file.c -o file
And for two passes
g++ -g -c file.c -o file.o
g++ -g file.o -o file
The actual program looks like this and contains a simple Invalid Write
int main(){
int* x = new int[10];
x[10]=1;
}
If I compile with one pass then valgrind gives the following (note the line
number at the end file.c:3)
==24114== 40 bytes in 1 blocks are definitely lost in loss record 2 of 9
==24114== at 0xB823: malloc (vg_replace_malloc.c:266)
==24114== by 0x5768D: operator new(unsigned long) (in
/usr/lib/libstdc++.6.0.9.dylib)
==24114== by 0x576DA: operator new[](unsigned long) (in
/usr/lib/libstdc++.6.0.9.dylib)
==24114== by 0x100000F09: main (file.c:3)
whereas if I compile in two passes I get this (with no line number):
==24135== 40 bytes in 1 blocks are definitely lost in loss record 2 of 9
==24135== at 0xB823: malloc (vg_replace_malloc.c:266)
==24135== by 0x5768D: operator new(unsigned long) (in
/usr/lib/libstdc++.6.0.9.dylib)
==24135== by 0x576DA: operator new[](unsigned long) (in
/usr/lib/libstdc++.6.0.9.dylib)
==24135== by 0x100000F09: main (in ./file)
What's interesting is that if I debug my little test program with GDB I can see
line numbers. So somehow valgrind is not getting them.
My system is OS X 10.7.3 with gcc 4.2.1 and valgrind 3.7.0
Note that I could not reproduce the problem on Ubuntu - there valgrind sees the
line numbers no matter what.
thanks for any help
Peter
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Valgrind-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-users