This article is currently in the process of being translated into Russian (~99% done).
Контрольные точки
Самое первое, что вам нужно знать об отладке - это контрольная точка (точка останова). На самом деле она делает именно то, что подразумевает название - отмечает точку в вашем коде, где выполнение будет делать перерыв (и нет, на самом деле это не сломает ваш код, не волнуйтесь). Чтобы установить точку останова в Visual Studio или одной из Экспресс-версий, достаточно просто щелкнуть левой кнопкой мыши на серой полосе, расположенной слева от вашего кода. Как только вы нажмете на нее, появится яркий красный кружок - этот круг отмечает, где отладчик остановится при выполнении вашего приложения. Вам лучше посмотреть это у себя, и чтобы посмотреть результат, мы воспользуемся следующий фрагментом кода:
namespace DebugTest
{
class Program
{
static void Main(string[] args)
{
int a = 5, b = 8, c = 233;
int d = a + c - b;
Console.WriteLine(d);
}
}
}
Теперь вы можете предсказать результат, просто взглянув на код? Возможно, а если нет, то можно просто взять старый калькулятор и посчитать, но дело не в этом. Просто представьте, что объем кода намного больше, и давайте отладим его! Поместите точку останова, щелкнув в полосе слева - теперь IDE должна выглядеть примерно так:
Итак, вы готовы начать свой первый сеанс отладки. Как только вы поставили точку останова, вы можете просто запустить приложение как обычно - из меню, панели инструментов или нажав клавишу F5. Что происходит сейчас, так это то, что приложение выполняется точно так же, как обычно, но как только достигается строка с точкой останова, выполнение останавливается прямо перед тем, как эта строка будет выполнена. В этом случае это означает, что переменные a, b и c будут иметь значение, но d будет иметь только значение по умолчанию (которое равно 0 для целого числа), так как оно не будет присвоено до тех пор, пока не будет выполнена строка с точкой останова. И вот что здорово - попробуйте навести курсор мыши на различные переменные, и IDE скажет вам, какие значения они содержат. Как уже было упомянуто, переменная d будет иметь значение по умолчанию, но давайте изменим его, двигаясь вперед в выполнении. В следующей главе я покажу вам, как перемещаться по коду во время его выполнения.