Краткий ответ: читайте блог Тесс Феррандез . Он содержит множество бесценных советов по отладке приложений .NET и поможет вам сделать это.
Более длинный ответ ...
в Visual Studio
Если у вас установлена Visual Studio, вы можете попробовать взломать любое необработанное исключение .NET. Чтобы включить это, перейдите в меню и выберите «Отладка», «Исключения» и установите флажок «Общеязыковые исключения во время выполнения». Затем перейдите в Инструменты, Параметры, Отладка и снимите флажок Включить только мой код. Наконец, подключитесь к процессу мастера настройки (вам, очевидно, нужно, чтобы он был запущен первым), и отладчик Visual Studio прервется в момент возникновения исключения.
Если предположить, что отладчик прерывается (если он не подключен к неправильному процессу), то у вас должен быть доступ к стеку вызовов, и вы можете сделать некоторые догадки по именам методов о том, что происходит неправильно. Однако есть вероятность, что это запутано, что не поможет. Вы также сможете увидеть текущую инструкцию MSIL, на которой остановился отладчик. Вот тут-то и начинает выходить за рамки меня, но есть хорошие ссылки, которые помогут вам понять, что происходит в коде.
Без Visual Studio
Если у вас нет Visual Studio или по какой-то причине не удается отключить отладчик, то можно создать дамп процесса сбоя. Есть два метода, которые я знаю. Один из них - , описанный командой разработчиков Windows Server Performance с использованием доброго старого доктора Уотсона. Другой - это новый инструмент, только что выпущенный Марком Руссиновичем под названием ProcInfo , который может автоматически создавать дамп процесса, который завершается с ошибкой из-за необработанных исключений. Возможно, есть и другие методы.
Получив дамп, вы можете использовать эту статью базы знаний , чтобы помочь вам настроить его для отладки.
Наконец
Вернитесь к краткому ответу выше: читайте блог Тесс, чтобы развиваться дальше! Это большая тема, и у нее есть лучшие ресурсы, которые я когда-либо нашел. Также есть хороший пост от Винсента Ротвелла , который может помочь, но он действительно нацелен на отладку собственного кода.
В качестве отступления - вы не должны получать исключения, которые вы есть. Это указывает на довольно серьезную проблему. Я бы посмотрел на коррупцию, серьезные неисправности оборудования и подумал о перестройке.