У меня есть система клиент-сервер, полностью написанная на c ++. сервер работает как /etc/init.d/serverd
с опциями запуска / остановки. Client.exe
выполняет любую команду как client.exe --options
, При каждом вызове клиента срабатывает демон.
Я хочу прикрепить valgrind
с /etc/init.d/serverd
обнаружить утечку.
Я попробовал ниже варианты, но не удалось.
/usr/local/bin/valgrind --log-file=valgrind_1.log -v --trace-children=yes --leak-check=full --tool=memcheck --vgdb=yes --vgdb-error=0 /etc/init.d/ serverd start
Каждый раз, когда он не подключен к демону.
Мы хотим прикрепить valgrind
с демоном в начальный момент [ the exact point is , I will stop daemon , attach valgrind with it and then start it again ]
так что каждый раз, исполнение client.exe --options
, логи должны быть сгенерированы для демона в --log-file=valgrind_1.log
У кого-нибудь есть идеи о том, как сделать то же самое?
Кажется, невозможно присоединить valgrind к существующему процессу:
http://valgrind.org/docs/manual/faq.html#faq.attach
Мне кажется, лучшая практика — убить процесс демона и запустить самостоятельно исполняемый файл в valgrind.