2013-05-07 2 views
0

Я получаю две подавленные dl-hack3-cond-1 ошибки от valgrind при запуске valgrind -v. Я использую calloc в своем коде, но я сделал все, чтобы освободить все и установить значение NULL. Кроме того, убедитесь, что вы выберете каждый возврат calloc. Я попытался провести некоторое исследование, чтобы увидеть смысл ошибки и обнаружил, что это связано с динамической связью, но также была ограниченная информация об этом. Это для класса, и инструктор сказал, что мы не можем иметь никаких подавленных ошибок в наших циклах valgrind.2 dl-hack3-cond-1 подавленные ошибки, показанные с valgrind -v

Я слышал, что это может произойти из-за работы на 64-битной системе, есть ли в этом правда? Спасибо за помощь.

ответ

0

Проблема была в 64-битной системе. Наконец, Valgrind установил на моем ноутбуке, и то же самое работает с 0 ошибками. Спасибо за то, что подумал.

3

Если ваш инструктор действительно сказал, что тогда они дурак ...

сдерживание по умолчанию, поставляемые с valgrind там по причине, потому что есть некоторые ошибки в стандартных системных библиотеках, которые вы не собираетесь быть в состоянии избавиться от того, что вы делаете в своем собственном коде.

Во многих случаях они могут быть ложными срабатываниями, но в любом случае разработчики valgrind решили, что они не являются чем-то, что пользователи могут или должны пытаться сделать что-либо, из-за чего они подали подавления для них как часть установка по умолчанию.

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

+0

Я не знаю, в чем разница? Как вы можете определить, связана ли ошибка с библиотекой или кодом? –

+0

Ну, если это один из встроенных (и это), то он будет в системной библиотеке. Это подавление только ловит вещи в библиотеке, чье имя соответствует '*/lib */ld-2.16 * .so *', что можно сказать в динамическом компоновщике, который является частью glibc. – TomH

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