В Windows CE, как я могу проверить, какие библиотеки на основе ОЗУ загружены в пространство виртуальной памяти? - PullRequest
0 голосов
/ 12 января 2010

У меня проблема с загрузкой DLL под Windows Mobile 5.0. Я уверен, что это вызвано исчерпанием виртуальной памяти приложения (слот 32 МБ процесса, как описано в Windows CE .NET Advanced Memory Management ).

Я ищу способ убедиться, что это проблема, и выяснить, принесут ли мои усилия ожидаемые результаты. Знаете ли вы, как проверить содержимое слота приложения виртуальной памяти? Какие-нибудь приложения, которые могут помочь мне с этой задачей?

Ответы [ 2 ]

0 голосов
/ 13 января 2010

Другой способ сделать это - использовать toolhelp32 api для чтения всех выделений виртуальной памяти, модулей и т. Д. Процесса. Я закончил тем, что написал инструмент очень давно, используя эти API-интерфейсы для чтения загруженных модулей всех процессов на устройстве, а также использования их виртуальной памяти, чтобы я мог понять, испытывает ли устройство то, что мы знали как «dllcrunch», где точка загрузки для следующей dll в нашем процессе, оказывается, находится в нашем пространстве кучи, поэтому мы получали ошибки OOM при загрузке dll, даже при том, что было много свободного места

0 голосов
/ 12 января 2010

До сих пор я нашел запись в блоге команды Windows CE об инструментах управления памятью и отчетности WinCE. Я смотрю на DevHealth.

...