Я знаю возможности базового обнаружения утечек для Win32 с использованием заголовка crtdbg.h, но этот заголовок недоступен в заголовках библиотеки CE CRT (я использую последнюю версию SDK v6.1).
Кто-нибудь знает, как я могу автоматически обнаруживать утечки в конфигурации WinCE / ARMV4I с VC 9.0? Я не хочу переопределять new / delete для моей иерархии классов, я бы предпочел готовый к использованию и протестированный код.





Вы хотите использовать AppVerifier или Entrek CodeSnitch. Мне гораздо больше повезло, что CodeSnitch заработал за короткий промежуток времени. Предостережение в том, что я не использую много WinMo - в основном ванильный CE. Я считаю, что есть проблемы с подключением к CodeSnitch и более новым устройствам WinMo (Platman против Corecon), но я также считаю, что Entrek либо имеет бета-версию, либо исправление, которое работает для него. Я бы порекомендовал вызвать в Entrek (не писать по электронной почте, они заняты, поэтому звонок будет вашим самым быстрым путем к информации), и только если вы обнаружите, что это не сработает, загляните в AppVerifier.
Может, мне стоит написать код моего собственного течеискателя с перегрузкой нового / удаленного, сейчас мне нужны довольно простые вещи ...
Вы не сказали, что хотите получить бесплатную версию, и я могу сказать, что цена за CodeSnitch окупается в больших количествах при первом использовании. Инструмент, который экономит недели на поиске эзотерических ошибок памяти, очень и очень стоит того.
На работе (разработка ОС + приложений на базе WindowsCE) мы создали собственный менеджер памяти, примерно на основе Менеджер памяти Fluid Studios (ссылка, которую я нашел с помощью SO!). Я почти уверен, что с помощью нескольких простых модификаций вы сможете адаптировать его для использования на своей платформе.
По сути, он не переопределяет новые и удаляемые, а вместо этого использует препроцессор для добавления к нему дополнительных отчетов. Затем после выхода из программы создается выходной файл с утечками памяти.
Я использую Fluid Memory Manager для своего разработчика WinCE. Большое спасибо, это именно тот детектор утечек, который я искал !!!!
Это не компилируется для меня (не могу найти unlink, _unlink или _wunlink, даже после включения wchar.h и io.h (которых не существует))
У вас есть все необходимые константы препроцессора? Вы подключаетесь к нужным библиотекам? Мне кажется, что вы неправильно настроили проект.
Думаю, для этого есть проект SourceForge:
http://sourceforge.net/projects/crtdbg4wince/
Если я правильно понимаю ваш квест, это является то, что вы ищете
CodeSnitch не бесплатен :(, а AppVerifier недоступен для Windows Mobile (я не упоминал мобильный вариант CE). В любом случае, 1 голос за ваш ответ, спасибо! :)