MALLOC_TRACE для Windows
В нашей компании у нас есть внутренняя структура, аналогичная функциональности mtrace (MALLOC_TRACE) в glibc для обнаружения утечек памяти. Эта структура написана для работы в Windows, но она не очень хорошо работает в GNU/Linux.
Итак, кто-нибудь знает переносимый эквивалент mtrace (MALLOC_TRACE), который может работать в Windows, GNU/Linux и, надеюсь, даже в MacOSX?
2 ответа
Несколько месяцев назад я разработал базу для переносимой библиотеки C, которая позволила создать некоторую ООП.
Память управляется подсчетом ссылок, и проект включает в себя отладчик памяти, который отслеживает все выделения, предоставляя расширенную информацию отладки при необходимости.
Он опубликован под лицензией BOOST, так что вы можете свободно его использовать.
https://github.com/macmade/XSFoundation/
Текущая редакция на самом деле находится в нерабочем состоянии, но вы можете проверить более старые, чтобы увидеть, как это делается.
Рабочая версия доступна в тегах ( 1.2.2-0). Этот прекрасно работает на OSX, Windows и Linux.
Вещи памяти расположены в основном в source/core
каталог:
Вот тип вывода для SegmentationFault, например:
Затем вы можете получить информацию о трассировке, распределить отображение и т. Д.