首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

WIN7下用VC2010调用C#的DLL,出现KernelBase.dll的异常

2013-12-11 
WIN7下用VC2010调用C#的DLL,出现KernelBase.dll的错误环境WIN7,VC2010,C++调用C#的DLL。注册成功,LoadLibra

WIN7下用VC2010调用C#的DLL,出现KernelBase.dll的错误
环境WIN7,VC2010,C++调用C#的DLL。注册成功,LoadLibrary也能找到,在调用时抛出中断。
输出里:
“C.exe”: 已加载“C:\Windows\System32\mscoree.dll”,已加载符号(去除源信息)。
“C.exe”: 已加载“C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscoreei.dll”,已加载符号(去除源信息)。
“C.exe”: 已加载“C:\Windows\System32\sxs.dll”,已加载符号(去除源信息)。
“C.exe”: 已加载“C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll”,已加载符号(去除源信息)。
“C.exe”: 已加载“C:\Windows\System32\msvcr100_clr0400.dll”,已加载符号(去除源信息)。
C.exe 中的 0x755d812f (KernelBase.dll) 处最可能的异常: 0x04242420: 0x4242420
“C.exe”: 已加载“C:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\4b31b2b5c9fb245c4f5c4ec9d182c0f4\mscorlib.ni.dll”,符号文件中不存在本机符号。
“C.exe”: 已加载“C:\Windows\Microsoft.NET\Framework\v4.0.30319\nlssorting.dll”,已加载符号(去除源信息)。
C.exe 中的 0x755d812f (KernelBase.dll) 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0013b540 处的 EEFileLoadException。
C.exe 中的 0x755d812f (KernelBase.dll) 处最可能的异常: Microsoft C++ 异常: 内存位置 0x00000000 处的 [rethrow]。
C.exe 中的 0x755d812f (KernelBase.dll) 处最可能的异常: Microsoft C++ 异常: 内存位置 0x00000000 处的 [rethrow]。
C.exe 中的 0x755d812f (KernelBase.dll) 处最可能的异常: Microsoft C++ 异常: 内存位置 0x00000000 处的 [rethrow]。
HEAP[C.exe]: Invalid address specified to RtlValidateHeap( 004B0000, 0013DFA4 )
Windows 已在 C.exe 中触发一个断点。

其原因可能是堆被损坏,这说明 C.exe 中或它所加载的任何 DLL 中有 Bug。

原因也可能是用户在 C.exe 具有焦点时按下了 F12。

输出窗口可能提供了更多诊断信息。

我上网查了下,KernelBase.dll的错误有可能是win7下需要管理员身份运行。
下下策,换成XP,如果不换系统有没有什么好的解决办法。
请教大家,遇到这类问题的和知道解决办法的给个答案,不胜感激! Windows?7 C# VC KernelBase.dll
[解决办法]
(用dependency工具看看其导出函数有没有你见到的函数)

然后不管如何,你还是使用COM接口的方式吧,如果那还有问题,应该是他的问题。


虽然我想说:让他在你机器上调试下……
[解决办法]
以前我做的一个项目也出现过这种报错信息。
原因是dll中的某些内存分配问题。
解决方法:改变项目的编译方式,改为动态链接到mfc;或者改变dll的实现。

[解决办法]
给你的DLL不对吧,找给你DLL的人来给你调一下

热点排行