Переступание через метод без символов - Как ступить в?

gitweb является большим и легким установить, мерзавец gui не плох ни один

10
задан joedotnot 30 September 2009 в 01:26
поделиться

2 ответа

Если рассматриваемое пространство имен является сторонней dll, которая не поставляется с символами (файл pdb), то это произойдет. Чтобы "войти", необходим файл символов.

Если это ваш собственный код, вам просто нужно дважды проверить, существуют ли ваши файлы символов. Для этого должна быть настроена отладка на уровне проекта.

0
ответ дан 3 December 2019 в 16:10
поделиться

Я знаю, что это старый вопрос, но возможно, вы используете функцию yield в методе, возвращающем IEnumerable?

Например (надуманный):

public IEnumerable<object> GetObjects(IEnumerable<object> objects)
{
    foreach(var obj in objects)
        yield return obj;
}

Я часто сталкиваюсь с этим в своих модульных тестах, но из-за ленивой оценки операторы yield не обрабатываются до тех пор, пока в этом нет необходимости. Один из способов принудительного перечисления - это, например, привязать .ToList () к вызывающему оператору, хотя вы не захотите делать это постоянно, если вызов, возможно, не является тестом для некоторых функций, где само перечисление не важно.

Таким образом, выполнение следующих действий должно привести к перечислению:

GetObjects(new List<object>()).ToList();

Короче говоря, если вы вызываете метод, требующий перечисления, но никогда не перечисляете результат, вы получите эту ошибку на выходе. Это также может происходить с операторами LINQ, например .Select.

Edit: Не заметил, что это был проект VB.NET, но я почти уверен, что принцип все еще остается в силе.

22
ответ дан 3 December 2019 в 16:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: