При использовании Valgrind я заметил, что он только генерирует сводку кучи, когда процесс завершается. Есть ли способ заставить Valgrind сканировать память и распечатывать отчеты об утечках, когда процесс еще запущен?Valgrind: Как заставить его генерировать сводку кучи без завершения процесса?
2
A
ответ
7
В дополнение к запросу клиента VALGRIND_DO_LEAK_CHECK
, вы можете также запустить Valgrind с --vgdb=yes
, чтобы включить встроенный gdbserver, а затем выдавать monitor leak_check full reachable any
command на (gdb)
строке.
Это не требует модификации и восстановления целевой программы и имеет другие преимущества: вы можете установить точки останова и выполнить проверки утечки в произвольных точках выполнения, а не только те, в которые вы положили запрос клиента.
3
Используйте запрос клиента VALGRIND_DO_LEAK_CHECK
от valgrind/memcheck.h
.