私はここからCを学び始めています。Chapter-5、Exercise-4 で valgrind の使い方を学んでいました。この問題は、このページのソース コード window-17 で説明されています。
ファイル (ex4.c) を Valgrind すると、このページに示されている Valgrind の出力から次のように出力が失われます。
???
それ以外の_itoa_word (_itoa.c:195)
C ライブラリ ファイルの行番号の場所が特定されていません。代わりに、共有ライブラリ ファイル (.so) へのパスが指定されます。
2 つの出力を比較する例を以下に示します。
私が期待すること
==3082== サイズ 8 の初期化されていない値の使用
==3082== 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)
私が得るもの
==14647== 0x407D256: ??? (/lib/tls/i686/cmov/libc-2.11.1.so 内)
==14647== by 0x4080B89: vfprintf (/lib/tls/i686/cmov/libc-2.11.1.so 内)
==14647== by 0x40882BF: printf (/lib/tls/i686/cmov/libc-2.11.1.so 内)
==14647== by 0x8048401: メイン (ex4.c:9)
valgrind の出力を修正する方法を教えてください。Ubuntu-10.10、32 ビット版を使用しています。ソースを使用して Valgrind-3.8.1 をインストールしました。私のgccバージョンは4.3.3で、glibcバージョンは2.11.1です