kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
 Quibblesome
Quibblesome
Вопрос

Каков наилучший способ поиска ВСЕЙ памяти при разработке на Compact Framework?

Я использовал CF Remote Performance Monitor, однако он, похоже, отслеживает только память, инициализированную в управляемом мире, в отличие от неуправляемого мира. Я могу только предполагать это, так как цифры, указанные в профилировщике, намного меньше максимально допустимых (32мб на CE 5). Профилирование конкретного приложения с помощью RPM показало мне, что общее использование всех кэшей достигает примерно 12мб, а затем медленно уменьшается, поскольку (я предполагаю) что-то неуправляемое начинает требовать больше памяти. Ползунок памяти в System также показывает, что устройству очень не хватает памяти. Если я убью процесс, ползунок показывает, что вся память возвращается. Значит, это должен быть (?) управляемый процесс, который поглощает память.

Есть ли какая-нибудь простая(ие?) мода, как можно отследить использование неуправляемой памяти таким образом, чтобы я мог сопоставить ее с соответствующими вызовами P/Invoke?

EDIT: Для всех вас, кто повторно ставит метку "это 'не .NET", такая пометка вопроса сбивает с толку. Это .NETCF / Compact Framework. Я знаю, что они кажутся похожими, но они отличаются, потому что .NET - это камни, а CF - это просто обертка вокруг NotImplementedException.

6 2008-08-13T19:56:52+00:00 3
 Oli
Oli
Редактировал вопрос 24-го сентября 2008 в 3:28
Программирование
compact-framework
windows-ce
Решение / Ответ
Adam Haile
Adam Haile
13-го августа 2008 в 8:33
2008-08-13T20:33:46+00:00
Дополнительно
Источник
Редактировать
#8414286

Попробуйте включить Interop logging.

Также, если у вас есть доступ к коду родной dll, которую вы используете, проверьте это: http://msdn.microsoft.com/en-us/netframework/bb630228.aspx.

3
0
 Clyde
Clyde
14-го августа 2008 в 4:06
2008-08-14T16:06:04+00:00
Дополнительно
Источник
Редактировать
#8414288

Я'определенно боролся с неуправляемыми проблемами в управляемом приложении на C# некоторое время - это'нелегко.

Что я нашел наиболее полезным, так это регулярный вывод в текстовый лог-файл. Например, вы можете выводить GlobalMemoryStatus каждые пару минут, а также вести журнал каждый раз, когда вы загружаете новую форму. Отсюда вы, по крайней мере, сможете увидеть, что либо память постепенно уменьшается, либо огромные куски памяти исчезают в определенное время дня.

В нашем случае мы обнаружили постепенную потерю памяти в течение всего дня, пока использовалось устройство. В итоге мы обнаружили, что устройство для сканирования штрих-кодов инициализируется без особой причины в нашем базовом классе Form (я виню предыдущего разработчика! :-)).

Установка такого протоколирования может быть небольшой проблемой, но для нас это принесло огромные дивиденды в долгосрочной перспективе, особенно когда устройство используется в реальном времени, мы можем получить реальные данные, инструментарий, трассировку стека исключений и т.д.

1
0
 SmacL
SmacL
27-го сентября 2008 в 11:35
2008-09-27T11:35:15+00:00
Дополнительно
Источник
Редактировать
#8414289

Ок, я использую C++ на CE, а не C#, так что это может быть бесполезно, но...

Я использую пакет под названием Entrk toolbox, который отслеживает использование памяти и ресурсов, утечки и исключения под Windows CE. Довольно похоже на облегченную версию boundschecker для CE. В большинстве случаев помогает.

1
0
Похожие сообщества 5
Microsoft Stack Jobs
Microsoft Stack Jobs
2 414 пользователей
Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks
Открыть telegram
Pro Windows
Pro Windows
1 490 пользователей
Microsoft Windows и всё, что с этим связано. Правила: https://t.me/pro_windows/308448 Список интересных групп и каналов: https://github.com/goq/telegram-list
Открыть telegram
pro_winapi
pro_winapi
590 пользователей
Обсуждение вопросов программирования в OS Windows на C/C++ и других языках, связанных с API этой операционной системы
Открыть telegram
Инсайдеры Windows 18+
Инсайдеры Windows 18+
498 пользователей
Чат блога sterkin.ru и 📢 @sterkin_ru: Windows, Microsoft, Google, мобильный мир, игори, гаджеты и вело Помощь с проблемами Windows только в @winsiders_support Здесь нет: - политики, хамства и троллей - нарушений УК РФ и священного EULA - вашей рекламы
Открыть telegram
Сообщество разработчиков на Universal Windows Platform
Сообщество разработчиков на Universal Windows Platform
166 пользователей
Вам могут быть интересны: @csharpchat, @dotnetchat, @dotnettalks
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 5 дней назад
2
Денис Васьков
Зарегистрирован 1 неделю назад
3
Dima Patrushev
Зарегистрирован 1 неделю назад
4
sirojidddin otaboyev
Зарегистрирован 2 недели назад
5
Елена Гайдамамакинат
Зарегистрирован 2 недели назад
ID
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией