本文主要是介绍为BUG编程:头文件不一致导致的coredump,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
重新安装了一个开发环境,旧代码放上去,安装好各种依赖库,跑起来……不停出错(信号11),头都大了!
同样的代码,放在旧环境,正常啊。
哪里出问题了啊?权限?好像也不涉及什么权限。
只好屏蔽代码来找出问题所在,折腾了很久之后,终于定位到一个依赖库的调用上,屏蔽就没事,打开就出错。
这才想起,这部分头文件为了开发方便直接放在源码里面的,该不会头文件不一致吧,把编译环境安装的头文件下过来一看,哎呀,差太多了。
真蠢。
最终不仅卸载了错误版本的库(仍然出错,怀疑卸载不彻底),甚至完全重装了编译环境。
具体的现象在逐步跟踪过程中清晰:
库提供了一组虚函数,但是调用了错误的入口点,这可能是不同版本虚函数的数量不同造成的。
重新安装系统真的是王道。
这篇关于为BUG编程:头文件不一致导致的coredump的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!