Dumpfile сообщает об исключении NullReferenceException. Я могу увидеть stacktrace, какой метод выбрасывает это исключение. Этот метод сам по себе длинный и делает много вещей. Есть ли какой-то способ определить, какой объект на самом деле был нулевым?, вызывающий объект NullReferenceException
ответ
A NullReferenceException
указывает недостаток объекта - нет такой вещи, как нулевой объект. Предполагаю, вы имеете в виду, что переменная была равна нулю, а точнее, какое выражение оценивается как null. Нет, нет ничего, что укажет на это.
Если вы используете сборку отладки, вы должны получить номера строк в трассировке стека, что должно помочь вам привязать ее к отдельному утверждению. Если вы используете сборку релизов, у вас, вероятно, нет номеров строк - это одна из многих причин держать ваши методы короткими и милыми.
В качестве альтернативы, если вы используете WinDbg и может сделать перерыв, когда происходит исключение, которое должно дать вам хорошее представление, конечно ...
! Sosex.mk даст вам IL смещение в точка отказа. Вы можете использовать эту информацию в сочетании с одним или несколькими методами разборки, чтобы увидеть, что происходит. ! sos.U,! sos.dumpil или! sosex.muf разобьет этот метод и позволит вам проверить код в месте сбоя. Чтобы найти соответствующие поля, локали или аргументы в оптимизированном коде, вам нужно использовать! Sos.dso или! Sosex.mdso для выгрузки объектов в стеке и в регистрах, а затем выполнить некоторые расследования. ! sosex.mdso позволит вам ограничить вывод количеством чисел или несколькими механизмами фильтрации.
- 1. NullReferenceException в System.Threading.Tasks, вызывающий HttpClient.GetAsync (url)
- 2. Объект, вызывающий объект
- 3. Объект бросает NullReferenceException
- 4. Неверный вызывающий объект IE
- 5. Использовать объект, вызывающий метод
- 6. Получить объект, вызывающий событие
- 7. объект, вызывающий метод путаницы
- 8. Функция onclick имеет неопределенный объект-вызывающий объект
- 9. PHP - вызывающий объект в объекте
- 10. Полиморфный контроллер и вызывающий объект
- 11. Получить (указатель на) вызывающий объект
- 12. python mock get вызывающий объект
- 13. Объект struct C++, вызывающий функцию
- 14. Доступа вызывающий объект из MethodCallExpression
- 15. javascript синтаксис вызывающий объект свойства
- 16. Получить вызывающий объект из суперкласса
- 17. Получить вызывающий объект инстанционного конструктора?
- 18. Действовать на объект, вызывающий функцию?
- 19. Объект, вызывающий метод, в свою очередь вызывающий другого в C++
- 20. NullReferenceException ldapConnection.Connect
- 21. NullReferenceException Unity
- 22. Ошибка NullReferenceException?
- 23. NullReferenceException vb.net
- 24. nullreferenceexception: unity3d
- 25. Пропустить вызывающий объект внутри блока инициализатора
- 26. Не выпуская объект фильтра com, вызывающий сбой
- 27. C# Extension Methods - возвращающий вызывающий объект
- 28. Объект NSDictionaryAtIndex, вызывающий исключение исключенного выбора.
- 29. Java большой объект списка, вызывающий память
- 30. Объект jquery, вызывающий функцию внутри себя
Я думал, что может быть каким-то образом определить, какая была последняя инструкция, которая выполнялась (через! Dso,! Dumpil или! U или какую-то другую инструкцию) ??? –
@palmsnow: Не то, что я знаю. Это возможно *, что есть конкретный способ получения информации на основе windbg, но лично я попытался бы сделать ваш код более легко диагностируемым для начала. Если у вас есть объект исключения, который каким-то образом был сериализован (в отличие от просто преобразованного в текст), то это возможно * имеется больше информации ... –