XNA - процесс неожиданно завершается во время отладки - PullRequest
4 голосов
/ 02 февраля 2012

У меня возникла любопытная проблема с отладкой моего проекта XNA. Всякий раз, когда я достигаю определенной точки останова и начинаю просматривать окно «Локальные», весь процесс и отладчик завершаются без уведомления о том, почему. Триггер может достигать поля с красным восклицательным знаком, который говорит: «Оценка функции была прервана».

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

Спасибо за любую помощь.

Ответы [ 2 ]

7 голосов
/ 04 февраля 2012

Это происходит потому, что ваш метод доступа бесконечно рекурсивен, вызывая переполнение стека.

Измените это:

get { return Level; }

На это:

get { return level; }

Этона самом деле это довольно распространенная вещь в Visual Studio C #, это очень раздражает, функция автозаполнения всегда предпочитает имя доступа по сравнению с именем члена, даже если вы находитесь внутри самого средства доступа.Я подумал, что через 5 лет Microsoft уже исправит это.

РЕДАКТИРОВАТЬ: н / м. Я вижу, вы уже пришли к такому выводу в своем собственном вопросе.Я думаю, что я должен прочитать все сначала, я бросил пистолет.

0 голосов
/ 10 февраля 2012

Хорошо, я нашел решение, поэтому для любого, кто может столкнуться с этим вопросом с подобной проблемой: отладчик зависает при попытке оценить свойство, которое вызывает переполнение стека, т.е.

protected int level;
    public int Level
    {
        get { return Level; }
    }

как более подробно описано здесь http://netpl.blogspot.com/2009_05_01_archive.html

...