当前位置: 技术问答>linux和unix
求助高手:C++在Unix下碰到的问题
来源: 互联网 发布时间:2015-10-10
本文导语: 我们项目组写了一个工具,要求能运行于Windows和Unix,程序在Windows下运行没有问题,但在 Unix下运行一段时间后,出现异常[错误信息:段错误((主存储器)信息转储)],调试时发现是内存分 配错误,而且每次都出现在不同的...
我们项目组写了一个工具,要求能运行于Windows和Unix,程序在Windows下运行没有问题,但在
Unix下运行一段时间后,出现异常[错误信息:段错误((主存储器)信息转储)],调试时发现是内存分
配错误,而且每次都出现在不同的地方(我们的程序是多线程,采用的是ACE软件包)。
调试了很久,一直找不到问题的所在,请高手支招,分不够再加。
|
估计是内存越界或泄漏的错误造成的,问题应该不在ACE,着重检查下有没数组越界或指针未分配空间就使用或是分配未收回。
|
先用boundschecker检查windows下的程序有没有内存泄漏.
还有把ace放到主线程中运行试试
还有把ace放到主线程中运行试试
|
找几个内存泄露查找工具,跟踪一段时间。
看看哪里有没有释放的内存。或者内存无效,引起ACE失效。
看看哪里有没有释放的内存。或者内存无效,引起ACE失效。
|
段错误肯定是内存的问题:
无非就是
1.访问错误指针
2.内存泄漏
3.访问空指针
无非就是
1.访问错误指针
2.内存泄漏
3.访问空指针