【发布时间】:2010-10-28 19:30:49
【问题描述】:
我目前正在开发一个在 Windows XP 中处理大量数据的 C++ 程序。我们最大的输入文件导致程序意外终止,没有任何错误消息。有趣的是,当程序从我们的 IDE (Code::Blocks) 运行时,处理文件时没有任何此类问题。
在处理数据时,会将其放入树结构中。在我们完成计算之后,数据被移动到一个 C++ STL 向量中,然后被发送到 OpenGL 中进行渲染。
我希望深入了解可能导致此崩溃的原因。我已经查看了另一个帖子,因为我是新用户,所以我无法发布链接。帖子中的问题与我的非常相似,是由于数组索引越界造成的。但是,我很确定不会发生此类越界错误。
我想知道,在为向量分配空间时,数据集的大小是否会导致问题。我一直在测试程序的系统理论上应该有足够的内存来处理数据(2GB RAM,数据集占用大约 1GB)。当然,如果内存够用,STL 向量在达到其容量时只需将其分配的空间加倍。
谢谢,埃里克
【问题讨论】:
-
当您在 IDE 之外运行应用程序时,您是重新编译它还是什么?您正在运行调试版本吗?
-
我已经尝试了调试版本和发布版本,都产生了相同的结果。
-
dll 呢?你是在链接dll还是类似的东西?您是否尝试过通过 cmd 行与 shell 运行它?
-
发生异常时为什么不能将调试器附加到进程?
-
从 GTK+ 和 GtkGlExt 库中链接了一些 dll。虽然我没想过从命令行运行...