1
我的工作通过我的方式学习C坚硬方式,我开始section on valgrindValgrind的输出与预期(
的例子输出的摘录不同写着:
==3082== Use of uninitialised value of size 8
==3082== at 0x4E730EB: _itoa_word (_itoa.c:195)
==3082== by 0x4E743D8: vfprintf (vfprintf.c:1613)
==3082== by 0x4E7E6F9: printf (printf.c:35)
==3082== by 0x40052B: main (ex4.c:11)
虽然我输出看起来是这样的:
==2362== Use of uninitialised value of size 4
==2362== at 0x40885CB: _itoa_word (in /lib/libc-2.16.so)
==2362== by 0x408C13E: vfprintf (in /lib/libc-2.16.so)
==2362== by 0x4092AE: printf (in /lib/libc-2.16.so)
==2362== by 0x4061604: (below main) (in /lib/libc-2.16.so)
如何让我的Valgrind的输出匹配,我并不十分担心2-4行,但我宁愿最后一行实际上对应(一nd我猜这可能是无论如何)。
我建我的EX4是这样的:
$ make ex4
cc -Wall -g ex4.c -o ex4
** Some warnings here **
然后执行Valgrind的,像这样:
$ valgrind ./ex4
我正在从源代码建立在Arch Linux的Valgrind的3.7.0, GCC 4.7.1,因为我有GLIBC 1.6我修改了我的配置文件并添加了以下代码:
2.16)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.16 family" >&5
$as_echo "2.16 family" >&6; }
$as_echo "#define GLIBC_2_16 1" >>confdefs.h
DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
;;
恰好在;;
之下,与之前的2.14)
一致。