Инструмент массива Valgrind не профилирует мою заявку
Я разрабатываю статически связанное 64-битное приложение C ++ на 64-битном CentOS 5.8, используя стандартные пакеты gcc 4.4 из репозиториев CentOS. Кажется, он использует больше памяти, чем я ожидал, поэтому я попытался использовать массив для профилирования использования памяти. Я скомпилировал с отладочной информацией и затем запустил
valgrind --tool = массив. / MyProg
из каталога, где находится MyProg. Он никогда не дает никаких результатов, кроме следующего примера massif.out.XXXX.
desc: (none)
cmd: ./MyProg
time_unit: i
#-----------
snapshot=0
#-----------
time=0
mem_heap_B=0
mem_heap_extra_B=0
mem_stacks_B=0
heap_tree=empty
Обратите внимание, что это все содержимое файла, и моя программа может работать в течение многих минут.
Я пробовал разные варианты валгринда и массива безрезультатно. Я даже попробовал использовать абсолютный путь к MyProg, на всякий случай. Я'мы попытались загрузить самую последнюю стабильную версию valgrind (3.8.1) и скомпилировать и запустить ее (поскольку CentOS использует 3.5.0) с тем же результатом. В качестве проверки работоспособности я побежал
valgrind --tool = массив ls -l
и он создал несколько снимков с ненулевым использованием памяти, как и ожидалось.
Я пытался искать в Интернете, используя каждую комбинацию ключевых слов, о которых мог только подумать, но не нашел подобных проблем.
Как примечание, я могу успешно профилировать приложение, используя valgrind 's по умолчанию инструмент memcheck, в случае, если это полезная информация.
Кто-нибудь знает, почему массив не сможет профилировать мое приложение?