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

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

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

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

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

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

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

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

原文地址:https://www.cnblogs.com/8335IT/p/13851224.html