请教NET的异常问题: FatalExecutionEngineError

xg2003 2012-03-15 02:22:20
错误描述:
托管调试助手“FatalExecutionEngineError”在“Server.exe”中检测到故障。
其他信息: 运行时遇到了错误。
此错误的地址为 0x71422e63,在线程 0xa95c 上。错误代码为 0xc0000005。
此错误可能是 CLR 中的 bug,或者是用户代码的不安全部分或不可验证部分中的 bug。
此 bug 的常见来源包括用户对 COM-interop 或 PInvoke 的封送处理错误,这些错误可能会损坏堆栈。

线程堆栈: (这个是NET自己启动的线程, 堆栈中没有我的方法.)
ntdll.dll!_NtWaitForSingleObject@12() + 0x15 字节
ntdll.dll!_NtWaitForSingleObject@12() + 0x15 字节
clr.dll!Thread::LeaveRuntimeNoThrow() + 0x20 字节
kernel32.dll!_WaitForSingleObjectExImplementation@12() + 0x43 字节
clr.dll!CLREvent::CreateManualEvent() - 0xdb525 字节
clr.dll!CLREvent::CreateManualEvent() - 0xdb4e4 字节
clr.dll!CLREvent::WaitEx() + 0x47 字节
clr.dll!CLREvent::Wait() + 0x19 字节
clr.dll!Thread::WaitSuspendEventsHelper() + 0xa8 字节
clr.dll!Thread::WaitSuspendEvents() + 0x17 字节
clr.dll!Thread::RareEnablePreemptiveGC() + 0x2c528f 字节
clr.dll!Thread::RareDisablePreemptiveGC() + 0xddcb0 字节
clr.dll!GCHolderEEInterface<0,1,1>::~GCHolderEEInterface<0,1,1>() + 0x21 字节
clr.dll!Debugger::SendMDANotification() + 0x12c 字节
clr.dll!MdaXmlMessage::SendDebugEvent() + 0x19d 字节
clr.dll!MdaXmlMessage::SendMessage() + 0x107 字节
clr.dll!MdaXmlMessage::SendMessagef() + 0x64 字节
clr.dll!MdaFatalExecutionEngineError::ReportFEEE() + 0xe5 字节
clr.dll!WatsonLastChance() + 0x389 字节
clr.dll!EEPolicy::LogFatalError() + 0x40c 字节
clr.dll!EEPolicy::HandleFatalError() + 0x12b 字节
clr.dll!CLRVectoredExceptionHandlerPhase3() + 0x12b48f 字节
clr.dll!CLRVectoredExceptionHandlerPhase2() + 0x20 字节
clr.dll!CLRVectoredExceptionHandler() + 0xbd 字节
clr.dll!CLRVectoredExceptionHandlerShim() + 0xa3 字节
ntdll.dll!_RtlpCallVectoredHandlers@12() + 0x1ac83 字节
ntdll.dll!_RtlCallVectoredExceptionHandlers@8() + 0x12 字节
ntdll.dll!_RtlDispatchException@8() + 0x19 字节
ntdll.dll!_KiUserExceptionDispatcher@8() + 0xf 字节
clr.dll!HndGetHandleTableADIndex() + 0x8 字节
clr.dll!MarshalNative::GCHandleInternalCheckDomain() + 0x1e 字节
mscorlib.ni.dll!6af66857()
[下面的框架可能不正确和/或缺失,没有为 mscorlib.ni.dll 加载符号]
clr.dll!Thread::HandleThreadAbort() + 0x75 字节

程序中, C#会调用C++的函数, C++也会回调用C#的函数, 应该可以确定不是方法签名不正确的问题.
因为程序是在正常运行一段时间之后, 就会出现这种问题. 该运行的方法都已经执行过很多次了.
(网上很多人遇到这个问题, 其中大部分是方法签名不正确而导致的.)

我怀疑是: 在C#中通过GCHandle.Free()释放C#对象的句柄时, 正好C#自己的某个线程终止了, 从而引发的异常.
...全文
4409 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
一只大花猫 2013-11-29
  • 打赏
  • 举报
回复
尼玛 这年头还是要自立自强啊 姐搞定了! 哎 可惜了我散出去的40分啊
木_玉 2013-11-28
  • 打赏
  • 举报
回复
引用 10 楼 shmily453397 的回复:
也遇到了同样的问题,求助啊
咋解决的?[/quote] 后来发现是C#调用C++的dll出错了,byte数组没法传输,最后直接用指针了
一只大花猫 2013-11-28
  • 打赏
  • 举报
回复
引用 11 楼 h503206 的回复:
引用 10 楼 shmily453397 的回复:
也遇到了同样的问题,求助啊
咋解决的?
后来发现是C#调用C++的dll出错了,byte数组没法传输,最后直接用指针了[/quote]
引用 11 楼 h503206 的回复:
引用 10 楼 shmily453397 的回复:
也遇到了同样的问题,求助啊
咋解决的?
后来发现是C#调用C++的dll出错了,byte数组没法传输,最后直接用指针了[/quote] 我没用指针 返回了byte[] 循环执行到第十三次时出错 好像是说我访问了受保护的内存
一只大花猫 2013-11-27
  • 打赏
  • 举报
回复
引用 8 楼 h503206 的回复:
也遇到了同样的问题,求助啊
咋解决的?
一只大花猫 2013-11-27
  • 打赏
  • 举报
回复
你后来怎么解决的啊?
木_玉 2013-10-25
  • 打赏
  • 举报
回复
也遇到了同样的问题,求助啊
Lingoesforstudy 2013-09-22
  • 打赏
  • 举报
回复
帮顶下,我也遇到了这个问题
zdmwww 2012-08-08
  • 打赏
  • 举报
回复
怎么解决啊 我也遇到了
xg2003 2012-03-15
  • 打赏
  • 举报
回复
自己顶一下.
xg2003 2012-03-15
  • 打赏
  • 举报
回复
另外: 我在VS中把出错的线程冻结后, 程序还可以正常运行, 但似乎有些功能不正常了.
内容概要:SSD2828QN4是一款MIPI主桥接芯片,用于连接应用处理器与传统并行LCD接口及支持MIPI从属接口的LCD驱动器。该芯片支持最高每通道1Gbps的串行链路速度,最多可配置4个数据通道,显著减少了信号数量。它支持多种接口模式,包括RGB+SPI组合接口,适用于驱动智能或非智能显示面板,并能通过命令模式和视频模式传输数据。芯片内置时钟和复位模块、外部接口、协议控制单元(PCU)、包处理单元(PPU)、错误校正码/循环冗余校验(ECC/CRC)模块、长包和命令缓冲区、D-PHY控制器、模拟收发器以及内部锁相环(PLL),确保了高效的数据传输和系统稳定性。此外,文档详细描述了芯片的引脚分配、寄存器设置、操作模式、电源序列、时序特性等关键参数,为开发者提供了全面的技术指导。 适合人群:具备一定硬件设计基础,从事嵌入式系统开发、显示技术研究的研发人员。 使用场景及目标:①实现应用处理器与MIPI兼容显示屏之间的高速数据传输;②优化显示系统的功耗表现,减少电磁干扰(EMI);③通过灵活配置不同接口模式来适应各种显示设备的需求。 阅读建议:此文档面向具有一定电子工程背景的专业人士,建议读者结合实际项目需求深入理解各章节内容,特别是关于寄存器配置、时序要求等方面的具体说明。对于初次接触此类技术的开发者而言,建议先熟悉基本概念再逐步掌握高级功能的应用方法。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧