Что вам нужно сделать, это просто обернуть переменную в set / get - не просто шаблонные функции, а фактически в отдельный класс, где set / get ДОЛЖЕН использоваться для доступа. Затем установите точку останова там. В качестве альтернативы, для упрощения поиска и изменения вы можете заключить значение в класс и использовать перегрузки операторов (с соответствующими разбиениями) для изменения. Это, наверное, самое чистое и портативное решение.
Вы также можете обнаружить, что изменяемая переменная не соответствует вашим ожиданиям. Лучший пример, который у меня есть, это то, что у меня было unsigned int, где я вычитал из нуля, когда я хотел увеличить с нуля, поэтому, когда я искал места, которые, как я знал, изменил его, они не отмечались. Не удалось выяснить, что происходит.
Однако, насколько мне известно, VC ++ не поддерживает механизм прерывания произвольных изменений, если точка останова данных не будет работать для вас. например, если он был изменен из-за повреждения стека / кучи. Но если вы работаете в режиме отладки, я ожидаю, что VC ++ сломается на них.