【发布时间】:2013-05-18 08:22:14
【问题描述】:
我一直在从事一个使用 wunderground 的自动完成 API 的项目,但我一直遇到一个非常随机的错误。代码位于here。
我得到的异常是 AccessViolationException。输入文本框时偶尔会出现。
异常信息:
using (XmlReader reader = XmlReader.Create(requestURL))
异常:抛出:“指定的注册表项不存在。” (系统.IO.IOException) 引发了 System.IO.IOException:“指定的注册表项不存在。” 时间:2013-05-18 14:55:59 线程:主线程[5672] 异常:捕获:“指定的注册表项不存在。” (系统.IO.IOException) 捕获到 System.IO.IOException:“指定的注册表项不存在。” 时间:2013-05-18 14:55:59 线程:主线程[5672]
Application.Run(new Form1());
异常:抛出:“试图读取或写入受保护的内存。这通常表明其他内存已损坏。” (System.AccessViolationException) 引发了 System.AccessViolationException:“试图读取或写入受保护的内存。这通常表明其他内存已损坏。” 时间:2013-05-18 14:55:59 线程:主线程[5672]
异常:抛出:“试图读取或写入受保护的内存。这通常表明其他内存已损坏。” (System.AccessViolationException) 引发了 System.AccessViolationException:“试图读取或写入受保护的内存。这通常表明其他内存已损坏。” 时间:2013-05-18 15:00:01 线程:主线程[4340]
我已经在 3 台不同的计算机上尝试过,但过了一段时间......总是会发生同样的错误。
【问题讨论】:
-
我暂时不知道,但如果您可以从异常中追踪并发布堆栈跟踪,这可能会有所帮助。这将揭示错误发生的确切位置。
-
AccessViolationException 大多数时候是您正在使用的非托管组件中的错误。有时会发生此错误,因为您正在做组件不喜欢的事情,因此可能有一种解决方法。最好联系组件供应商支持。