Почему отладчик VS не останавливается на инициализированной переменной?

1

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

Я также заметил, что на контрольной точке времени выполнения также отображается следующая строка.

Пример:

string strTest; // Set breakpoint here.
Console.WriteLine("This is test"); // The debugger stops here, not in the line above.
strTest = "Hi I am Test"; // Initialize string variable here.

Это ожидаемое поведение? Я имею в виду, почему отладчик VS не останавливается на не инициализированной переменной? а также почему во время выполнения точка останова переходит к следующей строке не инициализированной переменной?

  • 0
    Это, вероятно, оптимизируется
  • 1
    @OMGtechy Нет кода для оптимизации. Объявление переменной ничего не делает в скомпилированном коде, как указано в ответе. Объявление переменных перед их использованием - это просто конструкция языков более высокого уровня.
Показать ещё 2 комментария
Теги:
visual-studio
debugging
visual-studio-2012

1 ответ

9

Объявления переменных не генерируют код. Таким образом, нет кода, перед которым нужно разбить эту строку.

  • 0
    Не знаю, почему вы вернулись к этому обсуждению 3 года спустя и удалили все свои комментарии ... создается впечатление, что я разговаривал сам с собой, поэтому я также удалил свои;)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню