如何在调试 Visual C++ progrmme-VS 2010 时更改变量的值



我的程序包含600000个元素的大数组(每个元素都是一个结构)。 当我调试程序时,它被赋予了 OutOfMemoryException

FlightLeg *legRecord= new  FlightLeg[600000];(FlightLeg is a structure)

该程序消耗大量时间,因为它必须进行多次数据处理和初始数据加载(超过两天!

所以我想在调试时进行更改。我认为将 600000 更改为较小的值会有所帮助。如果我错了,请给我任何建议。

你能告诉我有没有办法在调试时更改 600000?因为我不想丢失之前消耗两天的数据加载。

这取决于以下几点:

  • 结构sizeof FlightLeg。例如,如果一个FlightLeg需要 100 字节,则需要 60,000,000 字节的内存,这是巨大的,尤其是在要分配连续内存时。
  • 在多次分配如此巨大的大小后,可用于进程的内存将受到限制。您可能需要编译和构建相同的 64 位版本,以便您可以利用更多(更多)内存。
  • 不建议分配此大小和此类型。你应该使用一些集合类(如vectorlist)来实现相同的。即使数组大小是恒定的,我也不建议编译时分配(即堆栈分配)。

相关内容

  • 没有找到相关文章

最新更新