Как отлаживать сбой .NET Core 3 в Windows - PullRequest
2 голосов
/ 21 марта 2019

После сообщения одного из наших пользователей я установил чистую Win7 x64 на виртуальную машину VirtualBox и попытался запустить там наше приложение WPF .NET Core 3.0.Это определенно происходит сбой каждый раз, когда я закрываю его без какой-либо трассировки стека с общим кодом исключения C # (e0434352).Просмотр событий показывает отсутствующую трассировку стека («Stack:» и ничего после нее).

Я пытался запустить его под WinDbg, но все, что я получаю, это:

(4e0.608): C++ EH exception - code e06d7363 (first chance)
ModLoad: 000007fe`fb8a0000 000007fe`fb8cc000   C:\Windows\system32\POWRPROF.DLL
(4e0.ab4): Unknown exception - code 0000071a (first chance)
ModLoad: 000007fe`fc860000 000007fe`fc8b7000   C:\Windows\system32\apphelp.dll
ModLoad: 000007fe`edd20000 000007fe`eddbc000   C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscoreei.dll

Любые идеио том, как это отладить дальше?Авария воспроизводится каждый раз, когда я закрываю программу.Программа работает нормально, прежде чем я пытаюсь закрыть ее.

Обновление: (отвечая на комментарии)

  • мы используем автономное развертывание win-x64;
  • наше приложение обрабатывает все случайные исключения и регистрирует их, до завершения их нет (журнал выглядит так, как будто завершение работы прошло правильно);
  • наше приложение имеет программу обновления, написанную с использованием того же самоготехнологический стек (WPF .NET Core 3.0, автономное приложение win-x64), и он корректно завершает свою работу;
  • только что протестировал его на другой машине (на этот раз на реальной машине) с Win7 x64 - тоже вылетает;
  • установил Visual Studio на эту виртуальную машину, программа по-прежнему аварийно завершает работу после ее закрытия, но Visual Studio ничего не записывает, даже если я запускаю приложение в режиме отладки из VS.

* Вывод 1024 *! Резьбы:

https://pastebin.com/RAz1ZCnU

! Pe вывод:

https://pastebin.com/1C8Eh87f

k выход:

https://pastebin.com/yYq51JzC

1 Ответ

0 голосов
/ 21 марта 2019

WinDbg не поставляется с поддержкой .NET.Вам нужно расширение для специфической информации .NET.Обычно .loadby sos clr для .NET и .loadby sos coreclr для .NET Core.Затем используйте !printexception (сокращение: !pe), чтобы получить подробные сведения об исключении для .NET.

...