Непонятный IndexOutOfRangeException в .NET 4 - PullRequest
0 голосов
/ 31 марта 2011

У меня есть исключение IndexOutOfRangeException, которое я не могу воспроизвести в режиме отладки, в соответствии с трассировкой стека, из которой генерируется исключение, это происходит в строке «return true»; Никакой индексации массива в этой строке и даже не индексации массива в процедуре, за исключением, по-видимому, добавляемой исключения. Поэтому я предполагаю, что трассировка стека может быть чем-то вроде красной сельди.

Кто-нибудь знает, что может вызвать такое поведение? У меня есть несколько потоков, обращающихся к объекту, в который выдается исключение, но они только читают из объекта, никаких изменений не производится. Может ли это все еще быть проблемой?

Буду очень признателен за любые указания относительно того, где я должен начать искать, чтобы исправить это.

1 Ответ

0 голосов
/ 31 марта 2011

Возможно, вы захотите сделать локальную копию перед итерацией или найти способ заблокировать коллекцию перед итерацией.

Довольно легко читаемое использование потоков в C #

(Часто в отладчике отображается следующая строка после того, как фактическая строка, которая выдает исключение.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...