Как узнать, ЧТО или ВОЗ обращается к переменной в VS Debugger для C#?

Я отлаживаю существующую программу на C#. Есть, конечно, события, обработчики событий и т. Д. Моя проблема в том, что я не знаю, где и когда в программе обновляется эта конкретная переменная с именем X для цели вопроса.

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

3 ответа

Некоторые варианты:

  1. Щелкните правой кнопкой мыши по переменной и выберите "Найти все ссылки"...

  2. Выполните глобальное решение для поиска по всему тексту "x =" и "x =", чтобы найти везде, где что-то пытается его установить.

Вы действительно не можете сделать это для полей объектов, но вы можете сделать это для свойств (и вы обычно можете изменить код и обернуть поле в свойстве без внесения изменений в другой код!).

Я ответил на похожие вопросы о том, как вы можете установить точку останова для сгенерированного метода установки здесь, используя Oz Code:

Повторное обращение о достижении точки останова у установщика свойства

Я не совсем уверен, имеете ли вы в виду "какие потенциальные точки в моем коде могут достичь этой переменной?", Или если вы имеете в виду "у меня есть точка останова для этой переменной, но я не знаю, как она здесь появилась?".

Если это вопрос № 2, я бы посоветовал посмотреть на стек вызовов (Debug/Windows). Кроме того, если у вас есть несколько потоков или задач в миксе, убедитесь, что просмотр всех потоков (одно и то же меню отладки) и просмотр всех задач.

Надеюсь, это поможет!

Другие вопросы по тегам