Можно ли использовать AddressSanitizer для регистрации вызовов mallo c? - PullRequest
0 голосов
/ 18 июня 2020

ОЗУ моей программы на C ++ неуклонно увеличивается, однако эти выделения не являются утечками, так как они очищаются должным образом при завершении программы (от AddressSanitizer я не получаю сообщений об утечках). Я использую стороннюю библиотеку, в которой я не вижу исходный код и подозреваю, что выделение будет происходить оттуда. Могу ли я каким-то образом использовать AddressSanitizer для регистрации всех вызовов mallo c, аналогично записи perf? Я не могу использовать perf и valgrind.

1 Ответ

0 голосов
/ 21 июня 2020

AddressSanitizer регистрирует все вызовы malloc, но будет сообщать об утечках только для выделений, которые недоступны , т.е. когда их адреса отсутствуют в стеке, глобальной памяти или доступной куче. Поскольку в вашем случае он не сообщает об ошибках, это, скорее всего, означает, что сторонние распределения free d или не выполняются через malloc (например, через mmap).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...