У меня есть консольное приложение .NET 2.0, работающее на Windows Server GoDaddy VPS в среде Visual Studio 2010 IDE в режиме отладки (F5).
Приложение периодически зависает (как будто сборщик мусора временно приостановил выполнение), однако в редких случаях он никогда не возобновляет выполнение!
Я уже несколько месяцев меняю диагонали, и у меня заканчиваются идеи.
- Приложение работает так быстро, как может (он использует 100% использование ЦП), но при нормальном приоритете. Он также многопоточен.
- Когда приложение зависает, я могу разморозить его, используя VS2010 IDE, путем приостановки/приостановки процесса (поскольку он работает в отладчике).
- Местоположение последнего выполнения, когда я приостанавливаю замороженный процесс, кажется несущественным.
- В то время как замораживание, использование ЦП по-прежнему на 100%.
- После размораживания он работает отлично до следующего замораживания.
- Сервер может запускать 70 дней между зависаниями, или это может сделать только 24 часа.
- Использование памяти остается относительно постоянным; нет никаких признаков утечки памяти.
У кого-нибудь есть подсказки для диагностики того, что именно происходит?