From: Geoffrey F. <fu...@ga...> - 2002-02-27 16:37:04
|
Joao Cardoso writes: > While reading the valgrind docs, it looks like that it's output is > very verbose. In your experience can this be a problem? 500 errors to > parse :-x valgrind gives you one block of errors for each "context", and multiple occurrences of an error in a context result in no additional printings of that context block during the program run. Then at the end, it summarizes activity in each context. So no, 500 errors is not that bad, because its only a few contexts, with a few lines each. Again, if you've used purify, this will look very familiar. For example, here's the error output for x08c: [furnish@xiphi tmp2]$ valgrind x08c -dev xwin ==7932== valgrind-20020224, a memory error detector for x86 GNU/Linux. ==7932== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward. ==7932== For more details, rerun with: -v ==7932== ==7932== Use of uninitialised value of size 4 ==7932== at 0x402C3582: plnxtvhi_draw (plot3d.c:826) ==7932== by 0x402C34E8: plnxtvhi (plot3d.c:793) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== by 0x402C1EE3: plt3zz (plot3d.c:499) ==7932== ==7932== Use of uninitialised CPU condition code ==7932== at 0x402C35B2: plnxtvhi_draw (plot3d.c:837) ==7932== by 0x402C34E8: plnxtvhi (plot3d.c:793) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== by 0x402C1EE3: plt3zz (plot3d.c:499) ==7932== ==7932== Use of uninitialised value of size 4 ==7932== at 0x402C4AD6: pl3cut (plot3d.c:1563) ==7932== by 0x402C3A96: plnxtvhi_draw (plot3d.c:949) ==7932== by 0x402C34E8: plnxtvhi (plot3d.c:793) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== ==7932== Use of uninitialised value of size 4 ==7932== at 0x402C4B2F: pl3cut (plot3d.c:1574) ==7932== by 0x402C3A96: plnxtvhi_draw (plot3d.c:949) ==7932== by 0x402C34E8: plnxtvhi (plot3d.c:793) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== ==7932== Use of uninitialised CPU condition code ==7932== at 0x402C4B35: pl3cut (plot3d.c:1575) ==7932== by 0x402C3A96: plnxtvhi_draw (plot3d.c:949) ==7932== by 0x402C34E8: plnxtvhi (plot3d.c:793) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== ==7932== Use of uninitialised value of size 4 ==7932== at 0x402C4B87: pl3cut (plot3d.c:1588) ==7932== by 0x402C3A96: plnxtvhi_draw (plot3d.c:949) ==7932== by 0x402C34E8: plnxtvhi (plot3d.c:793) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== ==7932== Use of uninitialised value of size 4 ==7932== at 0x402C3582: plnxtvhi_draw (plot3d.c:826) ==7932== by 0x402C34E8: plnxtvhi (plot3d.c:793) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== by 0x402C2C41: plgrid3 (plot3d.c:640) ==7932== ==7932== Use of uninitialised CPU condition code ==7932== at 0x402C35B2: plnxtvhi_draw (plot3d.c:837) ==7932== by 0x402C34E8: plnxtvhi (plot3d.c:793) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== by 0x402C2C41: plgrid3 (plot3d.c:640) ==7932== ==7932== Use of uninitialised value of size 4 ==7932== at 0x402C1C8C: plt3zz (plot3d.c:463) ==7932== by 0x402C0BF8: c_plotsh3d (plot3d.c:159) ==7932== by 0x8048F28: main (x08c.c:113) ==7932== by 0x406D5627: __libc_start_main (../sysdeps/generic/libc-start.c:129) ==7932== ==7932== Invalid read of size 4 ==7932== at 0x402C35AC: plnxtvhi_draw (plot3d.c:837) ==7932== by 0x402C34E8: plnxtvhi (plot3d.c:793) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== by 0x402C1EE3: plt3zz (plot3d.c:499) ==7932== Address 0x4164BE20 is 0 bytes after a block of size 24 alloc'd ==7932== at 0x4005745E: malloc (vg_clientmalloc.c:590) ==7932== by 0x402C335B: plnxtvhi (plot3d.c:746) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== by 0x402C1EE3: plt3zz (plot3d.c:499) ==7932== ==7932== Invalid read of size 4 ==7932== at 0x402C35AC: plnxtvhi_draw (plot3d.c:837) ==7932== by 0x402C34E8: plnxtvhi (plot3d.c:793) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== by 0x402C1EE3: plt3zz (plot3d.c:499) ==7932== Address 0x41664284 is 0 bytes after a block of size 376 alloc'd ==7932== at 0x4005745E: malloc (vg_clientmalloc.c:590) ==7932== by 0x402C335B: plnxtvhi (plot3d.c:746) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== by 0x402C1EE3: plt3zz (plot3d.c:499) ==7932== ==7932== Use of uninitialised value of size 4 ==7932== at 0x402C3582: plnxtvhi_draw (plot3d.c:826) ==7932== by 0x402C34E8: plnxtvhi (plot3d.c:793) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== by 0x402C2E61: plgrid3 (plot3d.c:658) ==7932== ==7932== Use of uninitialised CPU condition code ==7932== at 0x402C35B2: plnxtvhi_draw (plot3d.c:837) ==7932== by 0x402C34E8: plnxtvhi (plot3d.c:793) ==7932== by 0x402C32F9: plnxtv (plot3d.c:725) ==7932== by 0x402C2E61: plgrid3 (plot3d.c:658) ==7932== ==7932== Use of uninitialised value of size 4 ==7932== at 0x402C1C8C: plt3zz (plot3d.c:463) ==7932== by 0x402C0CE9: c_plotsh3d (plot3d.c:164) ==7932== by 0x8048F28: main (x08c.c:113) ==7932== by 0x406D5627: __libc_start_main (../sysdeps/generic/libc-start.c:129) ==7932== ==7932== ERROR SUMMARY: 5079 errors from 14 contexts (suppressed: 16 from 1) ==7932== malloc/free: in use at exit: 9184 bytes in 69 blocks. ==7932== malloc/free: 765 allocs, 696 frees, 878849 bytes allocated. ==7932== For a detailed leak analysis, rerun with: --leak-check=yes ==7932== For counts of detected errors, rerun with: -v [furnish@xiphi tmp2]$ -- Geoffrey Furnish fu...@ga... |