現在、Ubuntu Raring Ringtail x86 を実行しています。新規インストールと更新の後、「Learning C The Hard Way」チュートリアルの指示に従って Valgrind 3.8.1 をインストールしました。Valgrind を実行することはできますが、コード内のエラーの行番号を示す代わりに、次のように表示されます。
==9300== by 0x4060714: (below main) (libc-start.c:227)
Valgrind の完全なレポートはこちら: http://pastebin.com/1spmkFrU
私は -g フラグを使用していると確信しており、--track-origins=yesを使用すると、エラーが関数内にある場所ではなく、間違った関数が始まる場所のみが表示されます。(これは--trackを使用した結果です: http://pastebin.com/ktvY8HEM )
使用しようとしているメイクファイルとコードは次のとおりです。
メイクファイル:
CFLAGS=-Wall -g
EXECUTABLES=ex1 ex3 ex4
all: $(EXECUTABLES)
clean:
rm -f $(EXECUTABLES)
コード:
#include <stdio.h>
/*This program is purposefully broken */
int main()
{
int age = 10;
int height;
printf("I am %d years old.\n");
printf("I am %d inches tall.\n", height);
return 0;
}