Как я могу избежать огромного количества ошибок программных страниц, генерируемых моим приложением C # .NET? - PullRequest
7 голосов
/ 26 ноября 2011

Я профилирую приложение C # .NET WinForms и заметил, что оно генерирует миллионы ошибок программных страниц и продолжает расти во время работы ...

Я знаю, что в .NET количество сбоев страниц, которые генерирует приложение, обычно велико, но миллионы сбоев страниц кажутся слишком большими ... Кажется, что приложение вызвало состояние гонки с помощью GC, возможно ли это?

Есть ли какой-то известный плохо разработанный код, который может привести к этой ситуации? Если нет в коде, есть ли какие-то скрытые настройки .NET Framework, которые могут уменьшить количество ошибок страниц?

Можно ли избежать возникновения все большего числа ошибок программных страниц?

1 Ответ

4 голосов
/ 26 ноября 2011

Я бы действительно рекомендовал оставить эту вещь в покое, если это не проблема.Если у вас есть проблемы с производительностью - попробуйте и изолируйте код, который генерирует большинство сбоев страниц - Возможно, вы где-то используете большой объем памяти.

Постарайтесь сохранить ваш «небезопасный» код максимально изолированным и простым, т.е.инкапсулировать весь небезопасный код в классе или функции.Имейте в виду, что путаница .NET GC может привести к сложностям, в большинстве своем ненужным.

Просмотрите эту статью на предмет небезопасного введения (оно немного старое, но все еще актуально): http://www.codeproject.com/KB/cs/unsafe_prog.aspx

Кроме того, вы можете увеличить время сбора GC, это может помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...