[2]检查内存,内存未初始化
15 int foo(int x)
16 {
17 if(x < 0)
18 printf("%d",x);
19 return 0;
20 }
21
22 int main(int argc,char **argv)
23 {
24 int x;
25
26 foo(x);
27
28 return 0;
29 }
lengmian@ubuntu:~/akaedu/hwp/search$ valgrind --tool=memcheck ./val_test
==9597== Memcheck, a memory error detector
==9597== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==9597== Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -h for copyright info
==9597== Command: ./val_test
==9597==
==9597== Conditional jump or move depends on uninitialised value(s)
==9597== at 0x80483EE: foo (val_test.c:17) <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --> ---- 第 17 行 foo 函数 内存未初始化
==9597== by 0x804841F: main (val_test.c:26) <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --> ---- 第 26 行 main 函数调用
==9597==
==9597==
==9597== HEAP SUMMARY:
==9597== in use at exit: 0 bytes in 0 blocks
==9597== total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==9597==
==9597== All heap blocks were freed -- no leaks are possible
==9597==
==9597== For counts of detected and suppressed errors, rerun with: -v
==9597== Use --track-origins=yes to see where uninitialised values come from
==9597== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 13 from 8)