Это не контролируется атрибутами. Это неотъемлемая особенность отладчика.
Основной причиной этой функции является предотвращение нежелательной оценки функций пользователем. Func Evals - опасная операция в отладчике, которая может привести к значительному замедлению или повреждению состояния программы. Отладчик очень внимательно следит за тем, чтобы не допустить непреднамеренного использования дополнительных функций, которые могут ухудшить ваш опыт отладки.
В случае, если в окне «Watch / Locals / Auto» есть элемент, который может вызвать функцию funval, и отладчик не верит, что функция должна произойти, значение станет серым, и кнопка обновления появится в столбец значений. Нажатие на эту кнопку говорит отладчику: «Нет, я не хочу оценивать это выражение».
Есть много причин, по которым это происходит в отладчике. Следующие 2 являются наиболее вероятными.
Неявная оценка свойства отключена
Инструменты -> Отладчик -> Параметры -> Включить неявную оценку свойств
Если это значение не отмечено, вы говорите отладчику, что не выполняйте автоматическую оценку свойств. Свойства под капотом - это просто вызовы функций. Как правило, они безопаснее, чем обычные вызовы функций, но не всегда.
Но вы все равно можете принудительно оценить свойства, введя их непосредственно в окно просмотра. Если вы введете 2 подряд, первое значение станет «устаревшим». Это связано с тем, что при вводе второго выражения в окне просмотра все остальные выражения будут переоцениваться. Зачем? Потому что акт оценки любого выражения мог изменить результаты других.
Поскольку неявный func eval отключен, первое свойство не будет автоматически оцениваться, и вы должны принудительно его выполнить.
Func Eval и Step
Если добавить в окно наблюдения выражение, которое выполняет оценку функции, а затем выполнить пошаговую операцию, значение будет «скреплено» в окне просмотра.
Это делается по многим причинам, хотя одной из наиболее важных причин является повышение производительности. Пользователь очень часто вводит много выражений в окне просмотра, и, безусловно, нередко проводится оценка функции. По одному они не очень медленные. Но представьте, что вы пытаетесь быстро пройтись по некоторому коду, и у вас в окне просмотра было 10 функций. Это может быстро накапливаться и значительно ухудшать ваш опыт. Таким образом, функциональные ценности не переоцениваются автоматически.