2014-01-08 3 views
0

У меня есть код C++, и я проверяю утечку памяти через valgrind. Результат выглядит следующим образом:Утечка памяти: возможно, потерянный случай

==== LEAK SUMMARY: 
==== definitely lost: 0 bytes in 0 blocks 
==== indirectly lost: 0 bytes in 0 blocks 
====  possibly lost: 5,068,885 bytes in 341 blocks 
==== still reachable: 0 bytes in 0 blocks 
====   suppressed: 0 bytes in 0 blocks 
==== 

Я прочитал о «возможно, потерял» дело в руководстве, но я не уверен, что это большая проблема. Вы знаете, что может привести к этому? Где я должен проверить свой код, чтобы его устранить? Это хорошее действие, чтобы уйти, как есть?

Благодаря

+0

Этот ответ, вероятно, поможет вам: http://stackoverflow.com/questions/3537713/valgrind-can-possibly-lost-be-treated-as-defintely-lost – Pedrom

ответ

0

Возможно, потерял означает, что ваша программа утечки памяти, если вы не делаете умный (читай: странные вещи) с указателями, как указывает на середину блока памяти.

Если вы считаете свой код «утечкой» и хотите подавить это предупреждение, вы можете использовать опцию --show-possibly-lost=no.

Более подробную информацию можно найти здесь valgrind "possibly lost"

+0

IMHO - Не рекомендуется подавлять ошибки. Почему бы не исправить их? –

+0

@ EdHeal Я не выступал за подавление предупреждения. Просто показ OP, который он/она мог бы, если захотят. Я понимаю, что вы имеете в виду, я отредактирую ответ. –

+0

Есть ли какие-нибудь команды, чтобы увидеть, где происходит утечка? – user2147241

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