Как обнаружить утечки в библиотеке времени выполнения WinCE C / C +? - PullRequest
2 голосов
/ 23 декабря 2008

Я знаю возможности базового обнаружения утечек для Win32 с использованием заголовка crtdbg.h , но этот заголовок недоступен в заголовках библиотеки CE CRT (я использую последний SDK v6.1).

Кто-нибудь знает, как я могу автоматически обнаруживать утечки в конфигурации WinCE / ARMV4I с VC 9.0? Я не хочу переопределять new / delete для своей иерархии классов, я бы предпочел готовый к использованию и протестированный код.

Ответы [ 3 ]

5 голосов
/ 23 декабря 2008

На работе (при разработке ОС + приложений на базе WindowsCE) мы создали собственный менеджер памяти, примерно на основе Fluid Studios Memory Manager (ссылка, которую я нашел с помощью SO!) Я уверен, что с помощью нескольких простых модификаций вы можете адаптировать его для использования на вашей платформе.

По сути, он не переопределяет new и delete, а использует препроцессор для добавления к нему дополнительных отчетов. Затем, как только программа завершает работу, она генерирует выходной файл утечек памяти.

3 голосов
/ 23 декабря 2008

Вы хотите использовать AppVerifier или Entrek CodeSnitch . Мне повезло, что CodeSnitch заработал за короткий промежуток времени. Предостережение: я не делаю много WinMo - в основном, ванильного CE. Я полагаю, что есть проблемы с подключением CodeSnitch и более новыми устройствами WinMo (Platman против Corecon), но я также считаю, что Entrek либо имеет бета-версию, либо исправление, которое работает для него. Я бы порекомендовал позвонить в Entrek (не пишите по электронной почте, они заняты, поэтому вызов будет вашим самым быстрым путем к информации), и только если вы обнаружите, что он не будет работать, загляните в AppVerifier.

1 голос
/ 13 мая 2012

Я думаю, что для этого есть проект SourceForge:

http://sourceforge.net/projects/crtdbg4wince/

Если я правильно понимаю ваш квест, то - это то, что вы ищете

...