Описание тега memcheck

Memcheck - это инструмент динамического обнаружения ошибок памяти, присутствующий в среде Valgrind. В основном это помогает обнаружить ошибку, связанную с выделением-освобождением динамической памяти. Этот инструмент можно использовать для кодов C / C++.
1 ответ

"Серьезная ошибка при чтении отладочной информации" - подавить? игнорировать? исправить?

Я использую valgrind, чтобы попытаться найти причину нарушения доступа к памяти в программе C-cum-C++. Даже с таким предотвращенным доступом (т.е. когда все работает нормально), valgrind говорит мне: ==11436== Memcheck, a memory error detector ==114…
16 фев '18 в 16:46
1 ответ

Как увидеть использование кучи и стека функции в c, используя valgrind?

Я работаю над встроенной системой. У нас ограниченный стек и куча в нашей встроенной системе обычно 64 КБ (ОЗУ). Я пытаюсь использовать вызовы polar-ssl из библиотеки. Существуют ли какие-либо инструменты, которые говорят, сколько стека и кучи памят…
30 апр '12 в 09:06
1 ответ

Возможно ли записать состояние программы в Valgrind/DrMemory, а затем восстановить его?

У меня есть программа, которая загружает большой кусок данных при запуске. Это занимает довольно много времени и поэтому создает издержки при запуске Valgrind ( memcheck ) / DrMemory. Так что при вызове программы несколько раз с разными аргументами …
05 апр '13 в 14:34
2 ответа

Ошибка Valgrind при проверке утечки памяти в C++

Я пытаюсь выяснить использование Valgrind, поэтому я создал простую программу, но кажется, что Valgrind выдает странную ошибку, когда я делаю динамическое выделение памяти в классе. Моя программа: class Valgrind_testclass { Valgrind_testclass *Obj; …
22 июл '12 в 14:13
1 ответ

Можно ли доверять отчетам Valgrind в случае сбоя тестируемой программы

Поэтому я запускаю программу проверки памяти Valgrind, но при этом происходит сбой программы. Вероятно, из-за некоторых проблем с синхронизацией, вызванных тем, что Valgrind замедляет выполнение. Однако я получаю сообщение о том, что теряю память в …
12 ноя '14 в 09:26
1 ответ

Valgrind вывод сбивает с толку

У меня возникли проблемы с пониманием вывода Valgrind: 1> "Неверная запись размера 4" появляется в автоматически сгенерированном файле ADB, return (gnat_exit_status); -- this is line 314 of b~main.adb и gnat_exit_status определяется так: gnat_exit_s…
08 июн '11 в 18:38
0 ответов

Cuda проблемы с использованием общего буфера для симулированного распределения памяти

Я преобразовываю программу из обычной программы на c в программу cuda и хотел реализовать простую оболочку для malloc, которая просто использует большой пул. У меня 5000 тем. Мой размер блока 1024. Вот структура буфера, которую я использую для отсле…
04 апр '16 в 17:12
0 ответов

ARMv5 с Valgrind: незаконная инструкция

Благодаря другим постам здесь мне удалось собрать и установить Valgrind для ARM: make clean make distclean export PATH=$PATH:/usr/local/angstrom/arm/bin export CROSS_COMPILE=/usr/local/angstrom/arm/bin/arm-angstrom-linux-gnueabi- export CC=${CROSS_C…
20 июн '16 в 15:23
1 ответ

Как подавить предупреждение "неверное чтение" для GOT в valgrind?

Я использую valgrind memcheck как часть моих модульных тестов. Valgrind выдает "Недопустимое чтение размера 8" для конкретных тестовых представлений и изменяет GOT (глобальную таблицу смещений) процесса. Я хотел бы подавить это предупреждение предпо…
29 янв '19 в 09:11
2 ответа

Nvidia CUDA - передача структуры по указателю

У меня проблема с передачей указателя на структуру в функцию устройства. Я хочу создать структуру в локальной памяти (я знаю, что это медленно, это всего лишь пример) и передать ее другой функции по указателю. Проблема в том, что, когда я отлаживаю …
21 авг '12 в 18:18
1 ответ

Рекомендуемый способ отследить массив вне доступа / записи в C-программе

Рассмотрим написание реализации для некоторого неочевидного алгоритма на C. Например, пусть это будет рекурсивная быстрая сортировка, которую я нашел в книге К.Н. Кинга "Программирование на C: современный подход, 2-е издание", которую можно найти зд…
18 июн '14 в 11:25
1 ответ

Неверный размер записи: memset

void readdat (int c, char **v) { char *dc; char *pdc; dc = malloc((line+1) * sizeof(char)); memset(dc, 0, (line+1) * sizeof(char)); FILE *datfile; datfile = fopen(v[3], "r"); while(fgets(dc, line, datfile) != NULL) { pdc = strtok(dc, "\t"); countcDa…
01 мар '13 в 05:24
0 ответов

Сообщение об ошибке при отладке MPI-программы на Fortran с использованием valgrind memcheck

Я пытаюсь отладить свою MPI-программу, написанную на Фортране, с помощью valgrind memcheck. Однако, даже если я отлаживаю минимальную программу MPI, Memcheck всегда сообщает об ошибке в первом операторе MPI, MPI_INIT(IERR) . Если я прокомментирую ут…
05 июл '17 в 08:36
0 ответов

Valgrind, неверное чтение, fgetc

Добрый вечер всем. Я написал функцию, которая проверяет значения, поступающие из потока, анализируя каждый символ. Если символ имеет значение определенного знака, код должен сделать что-то более глубокое в программе. Все работает нормально, но Valgr…
04 сен '15 в 20:47
1 ответ

Как освободить удаленный узел в середине списка без ошибок valgrind?

Это небольшой тест, который поможет продемонстрировать и проанализировать результат проверки памяти valgrind. Может кто-нибудь помочь мне понять, как удалить И освободить узел из середины списка? Если я закомментирую free(cur) и free(cur->lock) из р…
21 июн '16 в 13:31
3 ответа

Что значит возможное потерянное в валгринде

У меня есть много возможных потерянных записей из Вальгринда. Что это значит? Поскольку я использую sqlite, и это хорошо проверено. Я не думаю, что это правильный вход. Что я делаю не так? 16 bytes in 1 blocks are possibly lost in loss record 30 of …
21 июл '11 в 05:24
7 ответов

Valgrind утверждает, что есть несвободная память. Это плохо?

Valgrind дает мне следующую сводку утечки в моем коде. Тем не менее, я освободил всю память malloc'а. Это плохо или это нормально? Моя программа на c. == 3513 == РЕЗЮМЕ УТЕЧКИ: == 3513 == определенно потеряно: 0 байтов в 0 блоках. == 3513 == возможн…
27 янв '10 в 04:15
1 ответ

Справка по выходу Fortran90 valgrind. Необъяснимая ошибка, возникающая в начале выполнения кода

В настоящее время я пишу большой нелинейный решатель для неприятного уравнения в частных производных в Fortran90 как часть моего исследования. Я столкнулся с проблемой, в которой, по моему мнению, проблема с повреждением памяти мешает моему коду, и …
0 ответов

Ошибка cuda racecheck при использовании double в ядре

Я новичок в кодировании cuda, недавно я столкнулся с ошибкой проверки при кодировании, и вот очень упрощенный код, который я могу повторить ошибку: (протестировано в Linux и Windows) //test.cu: __global__ void kernel(){ __shared__ double s1; __share…
27 мар '18 в 04:22
1 ответ

Конфигурирование valgrind для MPICH: неверный файл libmpi*.so используется

При запуске valgrind для обнаружения ошибок в MPI-приложении я получаю следующую ошибку: libmpi.so.0: cannot open shared object file: No such file or directory Я обнаружил следующее: в документации Valgrind (раздел 4.9.1) говорится, что "предполагае…
05 май '12 в 11:28