回调异常——KernelBase.dll处有未经处理的异常

KernelBase.dll是一个NT内核系统的底层API接口的DLL文件,与另外一个kernel32.dll有相同的功能。这个API接口主要是对接我们常说的运行库(C++、.net framework、DirectX等)。而我们安装运行的软件是通过上述运行库,调用KernelBase.dll或kernel32.dll作为初始化执行的工作。系统执行也通过KernelBase.dll或kernel32.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后,在运行时需要做兼容处理,桌面快捷方式或者安装目录里的软件图标→鼠标右击→属性→兼容性→以管理员身份运行此程序,即可解决问题
————————————————
版权声明:本文为CSDN博主「yingwang9」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yingwang9/article/details/92806646

原文链接: https://www.cnblogs.com/Groot3377/p/17066895.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    回调异常——KernelBase.dll处有未经处理的异常

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/313893

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月16日 下午1:05
下一篇 2023年2月16日 下午1:05

相关推荐