Подтвердить что ты не робот

Как я могу сказать valgrind, чтобы memcheck раздвоенные процессы?

У меня есть процесс x, который я хочу проверить на утечки с помощью valgrind. Проблема в том, что x выполняется y, а y в свою очередь запускается z. Я не могу запустить автономный x, потому что y и z настроить среду для x, например, переменные среды, ключи командной строки, файлы, необходимые для x и т.д.

  • Есть ли способ, которым я могу сказать valgrind для запуска на z, но следовать за любыми вилками, которые он находит и сообщает об этом тоже?
  • Есть ли способ, которым я могу сказать valgrind следовать за любыми вилками, но только сообщать о процессе с именем x?
  • Есть ли способ, который я могу сказать valgrind для присоединения к уже запущенному процессу, как я могу это сделать с gdb?

Я не знаю, если это имеет значение, но я работаю под SuSE64 linux и valgrind-2.4.0.

Спасибо!

4b9b3361

Ответ 1

  • Valgrind следует за forked процессами, когда задан параметр --trace-children=yes.
  • Вы должны быть в состоянии достичь этого, используя подходящие фильтры.
  • Нет. Valgrind перехватывает код загрузки модуля с помощью LD_PRELOAD, поэтому привязка к запущенному процессу невозможна.