在IDE外部运行时程序崩溃

Eri*_*ric 2 c++ memory crash

我目前正在研究处理大量数据的Windows XP中的C++程序.我们最大的输入文件导致程序意外终止,没有任何错误消息.有趣的是,当程序从我们的IDE(Code :: Blocks)运行时,处理文件时没有任何此类问题.

在处理数据时,它被放置在树结构中.在我们完成计算之后,数据被移动到C++ STL向量中,然后被发送出去在OpenGL中呈现.

我希望能够深入了解可能导致此次崩溃的原因.我已经查看了另一篇文章,由于我是新用户,因此无法发布链接.帖子中的问题与我的非常相似,是由数组的超出索引引起的.但是,我很确定没有发生这样的越界错误.

我想知道,在为向量分配空间时,数据集的大小是否会导致问题.从理论上讲,我一直在测试程序的系统应该有足够的内存来处理数据(2GB的RAM,数据集占用大约1GB).当然,如果存储器服务,则STL向量在达到其容量时简单地将其分配的空间加倍.

谢谢,埃里克

Joh*_*ter 9

代码在IDE中工作的事实(可能在调试器中运行?),但不是独立的,这表明它可能是一个初始化问题.


Mar*_*ork 5

编译器的警告级别设置为max.

然后检查所有警告.我猜它是一个未初始化的变量(在调试模式下被初始化为NULL/0).

就个人而言,我已经设置了模板,以便警告始终处于最大值,并且警告被标记为错误,因此编译将失败.