Почему Valgrind memcheck запускается много раз в моей программе Ruby? - PullRequest
1 голос
/ 16 марта 2019

Когда я запускаю мою программу Ruby с помощью следующей команды:

valgrind --tool=memcheck ruby hello.rb

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

Полный вывод

Все, что делает моя программа Ruby, - это загружает текстовый файл, содержащий 10 000 символов. Memcheck прекрасно работал для моих похожих программ на Python, когда я запускал их с одинаковыми командами. Почему я получаю четыре выхода? Некоторые из них указывают на правильное количество используемой памяти? Я измеряю потребление памяти для магистерской диссертации, поэтому мне действительно нужно выяснить, что вызывает это!

Спасибо!

1 Ответ

0 голосов
/ 16 марта 2019

По умолчанию valgrind не «следует» дочерним процессам (т. Е. Не следует за дочерними ветвями, которые вызывают системный вызов exec).

Но по умолчанию дочерний ветвь, который не выполняет exec, выведет некоторыеРезультаты.Использование --child-silent-after-fork = yes должно привести к исчезновению вывода разветвления, не исполняющего дочерний элемент.

...