我越来越接近绝望..我正在开发一个Windows Mobile 6.1使用C#的现场服务应用程序,还有一些p /调用。 (我想我参考了大约50个本地函数)Uncatchable AccesViolationException
在正常情况下,这没有任何问题,但是当我开始强调GC时,我得到了一个令人讨厌的0xC0000005错误女巫似乎无法捕捉。在我的测试中,我正在迅速关闭并打开一个对话窗体(该窗体确实使用了本机功能,但为了测试,我评论了这些),过了一段时间,Windows Mobile错误记者随即告诉我,有一个致命的在我的应用程序错误。
我的代码在Application.Run(masterForm);
附近使用try-catch并挂入CurrentDomain.UnhandledException
事件,但应用程序仍然崩溃。即使当我连接调试器,视觉工作室告诉我“远程连接到设备已经丢失”,当发生异常时。
由于我没有成功地在托管环境中捕获异常,我试过从Error Reporter日志文件中理解。但是这没有任何意义,唯一与此错误相关的是应用程序出现在哪里。
应用程序发生的线程对我来说是未知的,发生错误的模块与时间不同时间(我已经看到了我的application.exe,WS2.dll,netcfagl3_5.dll和mscoree3_5.dll),即使错误代码并不总是相同的。 (大部分时间它是0xC0000005,但我也看到一个0X80000002错误,这是一个警告会计第一个字节?)
我试着通过bugtrap调试,但奇怪的是,这崩溃与相同的错误代码(0xC0000005 )。我试图用Visual Studio打开kdmp文件,但我似乎无法理解这一点,因为它只显示我反汇编代码,当我进入错误(除非我有正确的.pbb文件,我不喜欢“T)。 WinDbg也一样。
长话短说:我坦率地没有一个线索在哪里寻找这个错误,我希望在stackoverflow上有一些明亮的灵魂。我很高兴提供一些代码,但在这一刻,我不知道哪一块提供..
任何帮助,非常感谢!
[编辑2010年5月3日]
正如你可以在我的汉斯评论看到我重新整个节目我所有未被注释的P /调用后,但并没有解决我的问题。我尝试用尽可能少的代码来重现错误,最终看起来像多线程访问是给我所有问题的。
在我的应用程序中,我有一个用户控件,用作手指/滑动滚动列表。在这个控件中,我使用列表中每个项目的位图作为画布。在这个画布上绘图是由一个单独的线程处理,当我禁用此线程时,该错误似乎消失..我会做一些更多的测试,并会在这里发布结果。
看看这个问题,看起来像它可能是相关的:http://stackoverflow.com/questions/724644/ – 2010-04-28 09:43:33
不,我的catch块根本没有被调用.. – Roy 2010-04-28 10:29:16