【发布时间】:2011-04-17 04:31:20
【问题描述】:
我们在生产环境中遇到了奇怪的错误,我们无法调试也无法注入日志记录代码。我正在尝试解决这个问题,但跟踪堆栈跟踪让我感到困惑。
System.IndexOutOfRangeException: Index was outside the bounds of the array.
at System.Collections.ArrayList.Add(Object value)
at ...
According to the MSDN Add 方法应该只抛出 NotSupportedException。
我不知道这里发生了什么。你呢?
【问题讨论】:
-
你能发布一些完整的堆栈跟踪吗?
-
只是猜测:ArrayList 用于多线程操作?
-
当异常发生时,您可以通过在调试器中检查其他线程状态来确认并发错误。检查当时是否有其他人正在更改容器。
-
最终看起来像是并发问题。
-
当数组中的元素数为 2 的幂(例如 8、16、32、64 等)时,您可以判断这是并发问题
标签: .net collections arraylist