如何在Windows上调试.NET Core 3崩溃

问题描述 投票:1回答:1

在我们的一位用户报告后,我在VirtualBox虚拟机上安装了一个干净的Win7 x64,并尝试在那里运行我们的WPF .NET Core 3.0应用程序。每次关闭它时都会崩溃,而没有使用通用C#异常代码(e0434352)的任何堆栈跟踪。事件查看器显示缺少堆栈跟踪(“堆栈:”,后面没有任何内容)。

我试过在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后,程序在关闭后仍然崩溃,但即使我从VS以调试模式启动应用程序,Visual Studio也不会捕获任何内容。

!线程输出:

https://pastebin.com/RAz1ZCnU

!输出:

https://pastebin.com/1C8Eh87f

k输出:

https://pastebin.com/yYq51JzC

c# wpf .net-core crash windbg
1个回答
0
投票

WinDbg没有.NET支持。您需要针对.NET特定信息的扩展。通常用于.NET的.loadby sos clr和用于.NET Core的.loadby sos coreclr。然后使用!printexception(简称:!pe)获取有关异常的.NET特定详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.