gpt4 book ai didi

c# - 如何解释此堆栈跟踪

转载 作者:IT老高 更新时间:2023-10-28 14:00:56 25 4
gpt4 key购买 nike

我最近发布了一个 Windows phone 8 应用程序。该应用程序有时似乎随机崩溃,但问题是它在没有中断的情况下崩溃,我得到的唯一信息是输出消息,告诉我存在访问冲突而没有提供任何详细信息。因此,在发布后,我能够从崩溃报告中获得更多信息,但它们对我来说有点神秘。

信息是:

Problem function: unknown //not very useful
Exception type: c0000005 //this is the code for Access violation exception
Stack trace:
Frame Image Function Offset
0 qcdx9um8960 0x00035426
1 qcdx9um8960 0x000227e2

我不习惯使用内存指针等,也不习惯看到这样的堆栈跟踪。

所以我有这些问题:

  1. 我应该如何解读/阅读这些信息,每条信息的含义是什么?
  2. 有没有办法利用这些信息来定位我的问题搜索?
  3. 有没有办法在 VS2012 中调试时获取这些信息

注意事项:

  • 我不是在问什么是访问冲突
  • 我将其标记为 c# 和 c++,因为我的代码在 c# 中,但异常是由 WebBrowser 组件的 c++ 实现生成的(我是半猜的)

编辑:

我尝试将 Debug 类型设置为 Native only,这让我获得了与开发中心崩溃报告中相同的信息。这样调试器会在抛出异常时中断并让我看到已禁用的代码,不幸的是没有 qcdx9um8960 .pdb 文件(即使在 Microsoft Symbol Server 上),所以我不知道导致错误的函数名称。

最佳答案

奇怪的是,在网络上搜索图像名称“qcdx9um8960”会返回几个引用 Windows Phone 8 和 WebBrowser 控件的结果。收集答案和回复(有些甚至来自 MSFT),您可能应该研究以下内容:

  • 如果您将应用程序从 Windows Phone 6/7 升级到 8,请确保您仍然没有引用任何 6/7 DLL。 1
  • 确保您没有在 Debug模式下测试或发布您的软件。可能缺少“qcdx9um8960.pdb”文件,导致访问冲突。 1
  • “...如果应用程序打开了多个 WebBrowser 拷贝,则可能存在已知竞争条件问题。查看您的代码是否可能无意中创建了多个实例。” 1
  • 该图像“qcdx9um8960”引用了 Qualcomm DirectX 驱动程序 DLL。也许这不是 WebBrowser 组件的错,而是它可能用来呈现网页的 DirectX 驱动程序。 2
  • 图片的名称表明崩溃发生在搭载型号为 MSM8960 的 Qualcomm Snapdragon S4 Plus 的设备上。 3
  • 假设上述处理器并交叉引用使用该芯片的 Windows 手机,您可能会看到诺基亚 Lumia 920T 上出现的问题。 3 这并不是说驱动程序不适用于多种处理器架构或手机。

在存在该 DLL 的情况下,还有其他一些与崩溃和调试问题有关的问题,因此对您来说很不幸,我认为您可能会受到一些第三方软件的摆布,这些软件有一些 Unresolved 问题。


引用文献

1 Access Violation since updated to WP8

2 [Toolkit][WP8] Performance issues with DepthStencilBuffer

3 Snapdragon (system on chip)

关于c# - 如何解释此堆栈跟踪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18659060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com