Stackoverflow异常没有明显的原因

Jus*_*tin 0 .net c# stack-overflow

我有一个页面,我测试的东西,所以这不是非常重要的修复,但我想知道是什么导致此异常.页面很简单.我有一个函数叫做MakeTheData大约38,000行添加数据点.我注意到在启动页面时我遇到了堆栈溢出异常.

你可以在这里看到它命中断点来调用该函数.然后我继续......

在此输入图像描述

现在我得到了一个堆栈溢出异常,甚至没有遇到函数中的第一个断点.怎么会发生这种情况?

在此输入图像描述

fej*_*oco 6

拆分MakeTheData成多个部分,或者尝试一个发布版本.我认为.NET运行时正在尝试DataPoint在进入函数时为38000个局部变量(类型)分配空间,这会立即导致堆栈溢出.

更新:正如@JonSkeet所说的那样,首先不要发挥如此巨大的作用.如果它是由一个优化的构建修复的,我仍然很好奇.

  • 或者理想情况下,将所有数据放入某些描述的文本文件中,然后以这种方式加载,而不是将其全部放入代码中.这样可以更容易维护*和*避免这个问题...... (9认同)