Как получить трассировку стека из FastMM
В следующем сообщении я заметил, что вы можете получить трассировку стека из FastMM, чтобы показать, что, по-видимому, было выделено объектом:
Как отслеживать сложную утечку памяти с помощью fastMM?
Я не могу найти информацию о том, как включить это в Delphi 2009.
Я установил ReportMemoryLeaksOnShutdown
в true, чтобы получить основной отчет, но как получить отчет о трассировке стека?
Ответы
Ответ 1
Внутренняя версия FastMM Delphi не поддерживает трассировки стека.
Если вы хотите зарегистрировать трассировку стека утечки памяти, вы должны:
-
скачать полную версию FastMM library
-
включить его в качестве первого блока в вашем проекте:
program YourProject;
uses
FastMM4, // <--
SysUtils,
Forms,
...
-
включить параметр FullDebugMode
в FastMM4Options.inc
-
установите файл карты в "Подробно" в параметрах проекта связывания (FastMM_FullDebugMode.dll
обрабатывает файл .map
)
-
добавьте FastMM_FullDebugMode.dll
в свой каталог (или Windows System32
)
Ответ 2
Вы также можете проверить программу настройки параметров Jeremy North FastMM4. Это немного проще, чем напрямую отредактировать файл FastMM4Options.inc. Здесь ссылка:
Сообщение о блоге интерфейса FastMM4
Ответ 3
Кроме того, Франсуа Гайард представил на CodeRage II сеанс под названием "Борьба с утечками памяти для чайников" и конкретно касается FastMM. Он указан в рефайле CodeRage II в четверг, 29 ноября 2007 г., с 9:45 до 10:45.
http://edn.embarcadero.com/article/37498
С уважением,
Эрвин
Ответ 4
Вы также можете увидеть this и this для более подробного описания, чем ответ ulrichb.
И не забудьте включить опцию "Использовать Debug DCU" ;)