2010-02-10 3 views

ответ

6

Чтобы послать сигнал Valgrind, pkill -USR1 Valgrind не хочет работать для меня.

pkill -USR1 MemCheck

сделать трюк.

3

Нет сигнала, который сообщает valgrind, чтобы проверить его состояние использования памяти. Если вас интересует объем памяти, используемый вашей программой с течением времени и где выделена эта память, инструмент valgrind massif может записать эту информацию, которая затем может быть отображена с помощью утилиты ms_print. Massif записывает моментальные снимки использования памяти программы автоматически во время выполнения программы, включая пиковый снимок, представляющий точку, в которой использование памяти было на пике (в пределах 1% с использованием параметров по умолчанию).

Чтобы запустить программу под инструмент массива VALGRIND в:

valgrind --tool=massif yourprogram 

бинарный файл massif.out.PID будет создан. Используйте ms_print для форматирования информации в текстовом виде:

ms_print massif.out.12345 
+0

А, спасибо. Моя программа должна принять сигнал номер 40 для выхода. Это серверный демон, поэтому единственный способ заставить его выйти - отправить сигнал 40, и обработчик sig заставит программу выйти. Поэтому, когда я проверяю его использование памяти в valgrind, я не могу найти способ отправить ему сигнал, потому что процесс этой программы вообще отсутствует. В любом случае, я могу отправить сигнал в свою программу? Благодаря! –

+1

Если вы отправляете сигнал процессу valgrind, который запускает вашу программу, тогда valgrind передаст его обработчику сигналов вашей программы. – mark4o

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