[紧急]貌似跟字符串、数组越界、堆栈内存溢出相关的疯狂崩溃问题
最近项目出现了一些怪异的问题,服务器崩溃的很频繁,大概描述一下情况,根据这么多天的观察发现每次崩溃都是跟内存和字符串相关的,我是从崩溃时生成的dmp文件中的堆栈信息中看到的,前面大部分都在malloc函数里面崩溃,但是当时内存使用才50~60%左右,所以可以排除内存空间不足的情况,然后就想到数组越界问题,把sprintf和strcpy函数都加入了长度越界检测和相关修正后,仍然没有解决问题,从最新的dmp文件堆栈信息里面看到崩溃处大概是在strcmp处的参数二地址问题,从dmp中看到的该参数的地址是0x00000007(以前也有0x00000013等之类的情况),显然不是一个合法的内存区域,不知道是不是dmp文件记录问题,以前也出现过不少类似的问题,该地址是通过上一层的函数的参数传递过来,而传递过来的是一个字符串字面值常量“G_INFO2”,难道还是因为数组越界改写了该地址,还是因为线程堆栈溢出导致?有没有什么好的办法能检测到具体出问题的位置,或是还有什么其它的可能性会导致这样的结果?请高手赐教!希望能尽快解决...非常感谢!