Вы должны запустить сервер под управлением Valgrind. Просто возьмите обычную команду запуска сервера и добавьте к ней valgrind
.
Valgrind будет подключаться к каждому процессу, который порождает ваш основной "серверный" процесс. Когда каждый поток или процесс завершается, Valgrind выводит свой анализ, поэтому я бы порекомендовал передать его в файл (не уверен, выходит ли он на stderr или stdout.)
Если ваша обычная команда запуска - /usr/local/mysql/bin/mysqld
, вместо этого запустите сервер с valgrind /usr/local/mysql/bin/mysqld
.
Если вы обычно запускаете службу с помощью скрипта (например, /etc/init.d/mysql start
), вам, вероятно, нужно заглянуть внутрь скрипта для фактической команды, которую выполняет скрипт, и запустить ее вместо скрипта.
Не забудьте передать параметр --leak-check=full
в valgrind для получения отчета об утечке памяти.