Разбери stack trace и найди источник исключения
Помогает читать stack trace: отделяет первичную ошибку от последствий, находит наиболее вероятное место сбоя и предлагает минимальные проверки.
1 Готовый промпт
Выступи в роли опытного разработчика и помоги разобрать исключение по stack trace. Технология: C# / ASP.NET Core. Stack trace и сообщение: """ System.NullReferenceException: Object reference not set to an instance of an object. at App.Services.OrdersService.BuildAsync(...) in OrdersService.cs:line 87 at App.Controllers.OrdersController.Details(...) ... """ Связанный код или контекст: """ На строке 87 формируется адрес: var email = order.Customer.Email; """ Проведи диагностику: 1. Назови тип исключения и самое важное сообщение. 2. Найди первую строку stack trace, относящуюся к пользовательскому коду, если она есть. 3. Отдели вероятную первопричину от вторичных вызовов фреймворка. 4. Сформулируй 2–4 гипотезы по убыванию вероятности. 5. Для каждой гипотезы предложи короткую проверку. 6. Укажи, какие дополнительные данные нужны, если причина пока не доказана. 7. После установления наиболее вероятной причины предложи минимальное исправление. Не делай вывод только по названию исключения. Не выдумывай содержимое файлов, значения переменных или конфигурацию, которых нет во вводных.
Как использовать
Вставьте stack trace целиком и, по возможности, код вокруг первой строки вашего проекта. Не обрезайте внутреннее исключение.
2 Настроить под себя
Заполните понятные поля ниже. Сервис автоматически соберёт новую версию промпта под вашу задачу.
3 Результат настройки
Заполните конструктор выше,
и здесь появится готовый промпт.
4 Примеры результата
Текстовый пример
Ключевая ошибка: NullReferenceException. Первая строка пользовательского кода: OrdersService.cs:87 Наиболее вероятная причина: `order.Customer` может быть null перед обращением к `order.Customer.Email`. Проверка: поставить breakpoint на строке 87 и проверить `order.Customer`. Минимальное исправление зависит от бизнес-правила: либо гарантировать загрузку Customer, либо явно обработать отсутствие значения.
5 Комментарии
0