This article is currently in the process of being translated into Russian (~99% done).
Окна инструментов
При отладке в Visual Studio, окна инструментов в нижней части экрана изменятся и новые окна будут показаны (если Вы не отключили их). Окна называются что-то вроде "Locals", "Watch", "Call stack" и "Immediate window", и все они связаны с отладкой. В этой главе мы рассмотрим каждый из них и покажем вам, что они могут сделать для вас.
Locals
Это окно является самым простым из всех. При достижении точки останова здесь будут перечислены все локальные переменные, что позволит вам получить краткий обзор их имени, типа и значения. Вы даже можете щелкнуть правой кнопкой мыши в таблице и выберите "Edit value", чтобы дать переменной новое значение. Это позволяет тестировать код в условиях, отличных от текущих.
Watch
Окно Watch немного похоже на окно Locals, только здесь вы можете решить, какие переменные отслеживаются, локальные или глобальные. Вы можете добавить переменные для наблюдения, перетащив их из окна кода, из окна Locals или написав его имя в последней пустой строке. Ваши переменные будут оставаться в окне Watch, пока вы снова не удалите его, но будут обновляться только при отладке в текущей области. Например, переменная в функции A не будет обновляться при пошаговом выполнении функции B. Как и в окне Locals, можно щелкнуть правой кнопкой мыши отслеживаемую переменную и выбрать "Edit value", чтобы изменить текущее значение переменной.
Стек вызовов (Call Stack)
Окно Call Stack покажет вам текущую иерархию вызываемых функций. Например, если функция a вызывает функцию B, которая вызывает функцию C, которая затем вызывает функцию D, окно Call Stack покажет ее, и вы сможете перейти к каждому из объявлений функции. Вы также можете увидеть, какие параметры были переданы каждой функции. В простых примерах, с которыми мы работали до сих пор, это может показаться бессмысленным, так как отслеживание того, какая функция вызывает какую-то тривиальную функцию, но как только ваш код достигает более высокого уровня сложности, и у вас есть функция в классах, вызывающих функцию в других классах, Call Stack может быть реальной экономией жизни.
Immediate window
Окно Immediate, вероятно, наиболее полезно из всех. Оно позволяет выполнять пользовательские строки кода в текущем контексте отладчика. Оно позволяет проверять переменные, изменять их значения или просто тестировать строку кода. Вы просто вводите код в окно, нажимаете Enter и строка будет выполнена. Введите имя переменной - и будет выведено ее значение. Задайте значение переменной, записав a = 5. Результат, если таковой имеется, будет напечатан и все внесенные изменения будут отражены при продолжении выполнения кода. Окно Immediate похоже на терминал C#, где вы можете ввести код и немедленно увидеть результаты - как только вы привыкнете к нему, вы можете стать зависимым от него. Я знаю, я стал.