У меня есть приложение, которое отлично работает на локальных компьютерах, используя различные среды (SQL, Windows). Однако у нас есть одна конкретная среда, в которой он не запускается, вызывая ошибку c0000005 в clr.dll.
Существуют ли какие-либо методы, которые я могу использовать для определения того, что происходит в этой конкретной (несколько ограниченной) среде? Код С# не попал, поэтому есть что-то в начальной загрузке и настройке приложения, которое терпит неудачу.
Я не ожидаю ответа на вопрос, почему он терпит неудачу, но некоторая помощь в том, как я могу найти что-то большее, чем очень ограниченный отчет о сбоях. Код использует.net 4.6.2, поэтому должно быть очень мало (если есть) прямое взаимодействие с самими инструментами Windows. Я подозреваю, что это либо поврежденная dll на сервере, либо приложение пытается загрузить что-то, что отсутствует в этой среде. Или, возможно, он стремится получить доступ к тому, что ему не разрешено (это проблема только на двух серверах).
Windows 2008 уже создает мини-свалку для вас. Читайте здесь: https://msdn.microsoft.com/en-us/library/windows/desktop/ee416349(v=vs.85).aspx#writing_a_minidump
Найдите мини-накопитель и откройте его в Visual Studio, dmpcheck или другом инструменте. Где-то должно быть что-то, что говорит о SEH или нарушении доступа в одной из трасс стека. Это скажет вам оскорбительный метод или функцию.
particular environment
? какая-то конкретная версия ОС и SQL? У вас есть журналы приложений, в которых есть информация об ошибке? Вы можете просмотреть журналы событий машины, чтобы увидеть, что могло пойти не так, когда вы запускаете приложение там.