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

Valgrind - это инструмент динамического анализа для систем Linux, OS X, Android и Solaris. Его можно использовать для профилирования, а также для поиска утечек памяти, состояний гонки и ошибок потоковой передачи.
1 ответ

Отчетность Valgrind Несоответствие free() / delete / delete []

Я пишу библиотеку, которая будет работать на нескольких системах (некоторые из которых не имеют malloc или stdlib). В моем stdlib (другой lib) я переопределяю new а также delete операторы для выполнения общих вызовов функций (в этом примере нет этих…
09 ноя '16 в 15:00
2 ответа

Возможная ошибка памяти в коде и возможное решение?

Приведенный ниже исходный код является урезанной версией некоторого более подробного исходного кода C, который анализирует входные строки, чтобы определить, соответствуют ли они предопределенным шаблонам. Код пытается проанализировать входную строку…
02 апр '14 в 07:24
0 ответов

Valgrind сообщает об освобожденных байтах, но об освобожденных блоках после asprintf()

Я знаю, что asprintf() выделяет память, и ее нужно освободить после вызова. Я добавил бесплатные операторы для указателей, предоставляемых asprintf (после их использования), но в то же время valgrind сообщает, что у меня все еще есть утечки памяти: …
11 окт '17 в 18:02
1 ответ

Почему Helgrind жалуется на эту программу?

У меня есть такой класс: class A { public: void swap(A& a) { lock(mutex_); vec_.swap(a.vec_); } void push(int elem) { lock(mutex_); vec_.push_back(elem); } private: std::vector<int> vec_; Mutex mutex_; // doesn't matter what kind of mutex …
26 янв '16 в 21:14
1 ответ

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

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

Должен ли я использовать Helgrind или DRD для обнаружения ошибок потока?

Похоже, у Valgrind есть два инструмента, которые оба обнаруживают ошибки потоков: Helgrind и DRD. Эти инструменты в значительной степени похожи. Мой основной вопрос: когда я должен использовать один вместо другого, чтобы проверить мой многопоточный …
16 ноя '11 в 19:43
1 ответ

CppUnit утечка

Выполнение моих регрессионных тестов с Valgrind У меня есть такой отчет: == 20341 == 256 байтов в 1 блоках косвенно теряются в записи потерь 915 из 919 ==20341== at 0x4A0661C: оператор новый (длинный без знака) (vg_replace_malloc.c:220) ==20341== по…
29 окт '09 в 16:01
1 ответ

Как интерпретировать вывод Valgrind

Valgrind выдает следующий блок сообщений: 1,065,024 bytes in 66,564 blocks are definitely lost in loss record 21 of 27 at 0x4C2B800: operator new[](unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) by 0x40CA21: compute(Paramete…
03 июн '15 в 21:31
7 ответов

Правильный способ инициализации структур C++

Наш код включает в себя структуру POD (Plain Old Datastructure) (это базовая структура C++, в которой есть другие структуры и переменные POD, которые нужно инициализировать в начале). Исходя из того, что я прочитал, кажется, что: myStruct = (MyStruc…
06 май '11 в 16:39
1 ответ

Почему я получаю предупреждения о неинициализированных значениях от Valgrind, когда использую Boost UUID?

У меня есть класс с членами: std::string mName; boost::uuids::uuid mId; В конструкторе я написал: mName = boost::lexical_cast<std::string>(mId); Вальгринд пишет: ==30714== Use of uninitialised value of size 8 ==30714== at 0x69E92FC: ??? (in /u…
03 апр '12 в 20:30
1 ответ

valgrind - адрес равен 8 байтам перед блоком размером 16

У меня проблема с "перевариванием" выходных данных valgrind. Вот фрагмент: ==15145== Invalid write of size 8 ==15145== at 0x40168E: split_node_at_letter (in /home/pgolinski/Dokumenty/Programowanie/git/dictionary/trii) ==15145== by 0x4018E7: pass_wor…
21 апр '15 в 15:37
4 ответа

Valgrind Сравнение указателя с NULL

Я использую Valgrind для отладки своего кода и получаю предупреждение, когда проверяю, struct инициализируется путем сравнения его с NULL, void main() { int *unassignedPointer; if(unassignedPointer == NULL) printf("This Pointer is NULL\n"); } Этот к…
26 июн '18 в 12:12
1 ответ

Инструмент массива Valgrind не будет профилировать мою заявку

Я занимаюсь разработкой статически связанного 64-битного приложения C++ на 64-битном CentOS 5.8, используя стандартные пакеты gcc 4.4 из репозиториев CentOS. Кажется, он использует больше памяти, чем я ожидал, поэтому я попытался использовать массив…
27 ноя '12 в 16:18
0 ответов

Использование valgrind для профилирования всей машины?

Я хотел бы использовать valgrind ( http://valgrind.org/) для профилирования всей системы, а не только предоставленной команды. Из документации: valgrind --leak-check = yes myprog arg1 arg2 Я хочу предоставить sleep 100, например, для myprog и arg1, …
04 дек '17 в 01:56
1 ответ

Могу ли я "заставить" Cachegrind проанализировать операцию (или строку)?

Я сравниваю поведение кэша двух алгоритмов поиска, которые работают с отсортированным диапазоном элементов с помощью Cachegrind. У меня есть n элементов в векторе и еще один вектор, который содержит все допустимые индексы. Я использую std::random_sh…
18 мар '12 в 18:45
2 ответа

Где освободить (бесплатно)

Изучая учебник по связанным спискам на C. Я скомпилировал этот код и провел его через valgrind. Это показывает 4 распределения и 0 освобождений, которые я понимаю. Мне нужно знать, как правильно позвонить free() освободить. Пример кода: llist2.c // …
02 июн '16 в 13:18
0 ответов

Утечка памяти при печати значения с плавающей запятой

В моем MacOS(El Capitan 10.11.5) я написал очень простой код, подобный этому: #include <iostream> int main(int argc, const char * argv[]) { // insert code here... std::cout << "Hello, World!\n" << 4.f << std::endl; return 0; …
19 май '16 в 06:24
3 ответа

make: ** ЦЕЛИ НЕ УКАЗАНЫ, а make-файл не найден. Стоп

Я последовал "Изучить трудный путь" и пришел к главе об установке Valgrind, следуя этим точным инструкциям: # 1) Download it (use wget if you don't have curl) curl -O http://valgrind.org/downloads/valgrind-3.6.1.tar.bz2 # use md5sum to make sure it …
19 май '14 в 15:09
7 ответов

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

Я попытался отладить сбой памяти в моем расширении Python C и попытался запустить скрипт под valgrind. Я обнаружил, что в выводе valgrind слишком много "шума", даже если я выполнил простую команду как: valgrind python -c "" Вывод Valgrind полон повт…
0 ответов

Настроить плагин Valgrind в Jenkins

Я установил плагин valgrind в Дженкинс. Я просто хочу запустить мой бинарный файл (простой программы на C) с помощью valgrind через jenkins(плагин valgrind) В Build->Run Valgrind Options я дал Рабочий каталог в качестве каталога моего исполняемого ф…
02 ноя '15 в 14:50