KERNELBASE.dll错误的解决方法

(1)

64位的系统与程序的兼容性问题。
多数都是内存管理溢出错误。
估计是32位的系统,即使程序不够内存用,系统最多就提供32位系统能提供的内存供程序使用,64位系统可以用提供更多的内存。

主要的依据是,之前的一个程序,开了1000个线程,在32位系统里面,好多线程都是ONHOLD,而在64位系统,全部都在START
没一会就闪退,冒错

解决方法,用XE以程序编译一次,或做一个64位的程序 

(2)

最近在服程序时遇到个问题,电脑是win764位,编译完的exe测试,偶尔总报错,报错是偶尔的,有时候报错很频繁,但是有一次测试,测试了半天都没有报错,我以为好,发布输出没一会儿又报错了,真是崩溃了,所有方法我都trycatch了,日志也记录了,也没找定位到哪里报错,这肯定是系统报错的,应该是是我64位编译问题。在网上查找好多资料也,其实这并不是KERNELBASE.dll的问题,也并不需要复制一个KERNELBASE.dll文件替换掉它。

1、0x7513C54F (KernelBase.dll) (XXXX.exe 中)处有未经处理的异常: 0xEBF00BAA

2、错误模块:kernelbase.dll

关于kernelbase.dll网络描述:

系统文件kernelbase.dll是存放在Windows系统文件夹中的重要文件,通常情况下是在安装操作系统过程中自动创建的,对于系统正常运行来说至关重要。除非用户电脑被木马病毒、或是流氓软件篡改导致出现kernelbase.dll丢失、缺失损坏等弹窗现象,否则不建议用户对该类文件(kernelbase.dll)进行随意的修改。

解决方案:

1、标平台从anycpu改为x64,然后重新编译生成后,在64位服务器上运行就,可以正常运行。

2、x64电脑编译x86后,在运行时需要做兼容处理,桌面快捷方式或者安装目录里的软件图标→鼠标右击→属性→兼容性→以管理员身份运行此程序,即可解决问题
 

你可能感兴趣的:(.net)