gpt4 book ai didi

c# - Silverlight 5 - 调试 npctrl.dll 崩溃

转载 作者:可可西里 更新时间:2023-11-01 08:07:08 32 4
gpt4 key购买 nike

我遇到了一个非常令人沮丧的 silverlight 插件崩溃,它同时影响 IE 和 firefox。

事件日志中的错误是:

Faulting application name: iexplore.exe, version: 9.0.8112.16421, time stamp: 0x4d76255d
Faulting module name: npctrl.dll, version: 5.0.61118.0, time stamp: 0x4ec5fc64
Exception code: 0xc0000094
Fault offset: 0x0001d720
Faulting process id: 0x434
Faulting application start time: 0x01ccf0b878b55ca7
Faulting application path: C:\Program Files (x86)\Internet Explorer\iexplore.exe
Faulting module path: c:\Program Files (x86)\Microsoft Silverlight\5.0.61118.0\npctrl.dll
Report Id: bd79af3d-5cab-11e1-8948-000c29de3e25

我已经尽可能在异常期间附加 WinDbg 以获得更多信息:

(17e4.13f8): Break instruction exception - code 80000003 (first chance)
*** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Windows\SYSTEM32\ntdll.dll -
ntdll!DbgBreakPoint:
00000000`77810530 cc int 3
0:029> g
(17e4.1790): Integer divide-by-zero - code c0000094 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
*** ERROR: Symbol file could not be found. Defaulted to export symbols for NPCTRL.dll -
NPCTRL+0x1d720:
7b59d720 f7f1 div eax,ecx

好的,所以 ntdll.dll 除以零。我真的不知道如何进一步调试。我已经尝试查看一些解释如何操作的文章 - 但我认为我的限制是基于没有可用于 ntdll.dll 的符号这一事实?

如何缩小导致此错误的代码部分?

最佳答案

经过几个小时的调试,我能够在一个小项目中重现该问题。只需创建一个“支持 silverlight 的 Web 服务”,然后引用它。然后切换到使用客户端 http 堆栈:

WebRequest.RegisterPrefix("http://", WebRequestCreator.ClientHttp);
WebRequest.RegisterPrefix("https://", WebRequestCreator.ClientHttp);

在我的机器(以及同事)上调用该服务有大约 10-15% 的几率因 ntdll.dll 错误而崩溃。

我找到了两种方法来缓解这个问题。

1) 停止使用客户端网络栈。这个问题似乎从来没有发生在浏览器堆栈上

2) 在 VMWare 之外访问 silverlight 应用程序。该问题似乎只发生在虚拟机中。感谢 RobSiklos 解决了这个问题。

希望这对某人有帮助。

关于c# - Silverlight 5 - 调试 npctrl.dll 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9382809/

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