关于Linux出现 段错误(程序已转储)

1在一次动态库调用应用中,将.so库的静态加载改为动态加载

 

dlopen-定义函数指针-dlsym-dlclose

运行时出现:段错误程序已转储,经过排查,某些声明并初始化成null的函数指针并未通过dlsym赋值,故在使用的时候直接使用了空的函数指针,报了这个错。

 

2出现该错误的一般原因(转载自 博客园:白日焰火

   (1)内存访问出错,访问越界(2)程序试图访问内核段内存而产生的错误,非法内存访问

(3)Linux默认给一个进程分配的栈空间大小为8M。c++申请变量时,new操作申请的变量在堆中,其他变量一般在存储在栈中。

    因此如果你数组开的过大变会出现这种问题。

 

posted on 2020-10-21 11:09  邗影  阅读(624)  评论(0编辑  收藏  举报

导航