2015-04-06 2 views
1

Я прочитал бесчисленные вопросы об этом, и ни один из ответов не поможет.Valgrind не показывает номера строк

Я не могу опубликовать свой код, потому что слишком много, но я предоставил свою линию makefile и информацию valgrind.

Я компилирую с gcc -std=c99 -Wall src/main.c src/filein.c src/make_game.c -g -O0 -Iinclude -o bin/rogue -lncurses.

Я бегу Valgrind с этим: valgrind --leak-check=full /home/pi/rogue/rogue/bin/rogue assets/room.txt

Мой вывод:

==2939== Memcheck, a memory error detector 
==2939== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al. 
==2939== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info 
==2939== Command: /home/pi/rogue/rogue/bin/rogue assets/room.txt 
==2939== 
==2939== 
==2939== HEAP SUMMARY: 
==2939==  in use at exit: 117,855 bytes in 197 blocks 
==2939== total heap usage: 306 allocs, 109 frees, 121,129 bytes allocated 
==2939== 
==2939== 900 bytes in 6 blocks are definitely lost in loss record 1 of 4 
==2939== at 0x4835978: malloc (in /usr/lib/valgrind/vgpreload_memcheck-arm-linux.so) 
==2939== 
==2939== LEAK SUMMARY: 
==2939== definitely lost: 900 bytes in 6 blocks 
==2939== indirectly lost: 0 bytes in 0 blocks 
==2939==  possibly lost: 0 bytes in 0 blocks 
==2939== still reachable: 116,955 bytes in 191 blocks 
==2939==   suppressed: 0 bytes in 0 blocks 
==2939== Reachable blocks (those to which a pointer was found) are not shown. 
==2939== To see them, rerun with: --leak-check=full --show-reachable=yes 
==2939== 
==2939== For counts of detected and suppressed errors, rerun with: -v 
==2939== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 19 from 6) 

Этот вывод не поможет мне на всех, и я был бы очень признателен, если кто-то может помочь.

ответ

0

Ваш выход не столько показывают проблемы с номерами строк, но скорее всего трассировки слишком коротка, так как он показывает только malloc() функцию, но не вызывающий абоненте.

Вы можете попробовать использовать новую версию Valgrind. Ваша версия (3.7.0) - это несколько лет, и в то же время были улучшения для обратных трасс на системах ARM.

+0

Я запускаю этот Valgrind на моем пи, как я могу его обновить? Когда я пытаюсь обновить его с помощью 'apt-get', мне говорят, что у меня самая новая версия. – MortalMan

+0

В ответ на выше, я попытался установить valgrind, установив из исходного кода, и, по-видимому, моя архитектура не поддерживается. Я не могу использовать Valgrind на моем Pi или моем Mac ... отлично. – MortalMan

Смежные вопросы