После некоторых изменений выход приложения в некоторых случаях больше недействителен. Некоторые выходные значения неверны. Значения, используемые для вычисления этих выходов, являются правильными, и в какой-то момент сложной обработки вещи ошибаются.Отслеживать происхождение значения переменной C++
Есть ли инструмент для отслеживания происхождения значения переменной C++? Я раньше использовал valgrind, чтобы отслеживать значения NULL, но то, что мне хотелось бы, является чем-то более общим. Существует ли более общий инструмент, показывающий цепочку (или дерево) назначений, которая привела к тому, что переменная имела свое значение в определенный момент времени?
PS: код, так как почти все унаследованного кода, трудно следовать, не имеет модульных тестов и т.д.
EDIT: Данные точки останова на переменной будет только показать мне конечную точку в цепи. Немного больше, чем было бы неплохо.
Visual Studio позволяет кондиционировать точку останова на переменном изменении: http://stackoverflow.com/questions/160045/break-when-a -value-changes-using-the-visual-studio-debugger – thang
Почему «устаревший код» так трудно следовать? Являются ли комментарии на языках новой функцией? – Bathsheba
Ну, в некотором смысле, значение этой переменной потенциально зависит от всей предыдущей истории вашей программы. Все, что могло бы вычислить такое дерево, может привести к очень большим результатам ... –