valgrind 使用2

来源:互联网 发布:怎么投诉淘宝客服骂人 编辑:程序博客网 时间:2024/04/30 12:16

[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 }-->    ---- 17foo函数内存未初始化
==9597==    by 0x804841F: main (val_test.c:26)  <!--@page { margin: 2cm }P { margin-bottom: 0.21cm }-->  ---- 26main函数调用
==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)

原创粉丝点击