Иллюстрированный самоучитель по Architecture .NET

Отладка. Оперативная отладка.

В этом разделе мы обсудим некоторые возможности отладки Visual Studio. Для того чтобы воспользоваться возможностью отладки на уровне исходного кода, следует создать исполняемые файлы в конфигурации Debug (Отладка), обсужденной выше. Существуют две возможности войти в отладчик:

  • Оперативная отладка (Just-in-Time Debugging). Программа работает обычным образом, но если возникает исключение, вы получите возможность запустить отладчик. Программа терпит крах, так что вы не сможете ни продолжить ее выполнение, ни сделать следующий шаг, ни установить точку останова или предпринять что-то подобное. Тем не менее, вы сможете просмотреть значения переменных и узнать, в каком именно месте программы остановилось ее выполнение.
  • Обычная отладка (Standard Debugging). Программа запускается под отладчиком. При этом можно установить точки останова, выполнение в пошаговом режиме и т.д.

Оперативная отладка

Для того чтобы увидеть, как работает оперативная отладка, введем в программу код, вызывающий необрабатываемое исключение. Этот пример находится в папке Bytes\Step2. Деление на ноль в нем приведет к возникновению исключения DivideByZeroException.

//Bytes.h – Step2
public _gc class Bytes
// общедоступный класс сборщика мусора Байты
{
public:
// общедоступный:
static void Main()
// статическая Главная ()
{
Int64 bytes = 1024;
Console::WriteLine("kilo = {0}",
_box(bytes));
int zero =0; // обнулить
int i = zero;
}
};

Создайте и запустите (не отлаживая) программу Bytes из папки Bytes\Step2, убедившись перед этим, что она скомпонована в конфигурации Debug (Отладка). Эта версия программы не сможет корректно завершиться, и возникнет исключение Появится диалог "Just-In-Time Debugging" ("Оперативная отладка"), как показано на рис. А.11. Щелкните на кнопке Yes (Да), чтобы начать отладку.

Иллюстрированный самоучитель по Architecture .NET › Приложение. Visual Studio .NET. › Отладка. Оперативная отладка.
Рис. А.11. Диалог "Just-In-Time Debugging"("Оперативная отладка"), появляющийся при возникновении исключения

Щелкните на кнопке "ОК." в диалоге "Attach to Process" ("Присоединиться к процессу"), а затем – на кнопке Break (Прервать) в диалоге "Microsoft Development Environment" (Среда разработки Microsoft). Теперь перед вами окно с исходным кодом программы, во время выполнения которой возникла ошибка. При этом стрелка указывает на строку, где эта ошибка произошла.

Для остановки отладки можно использовать кнопку останова на панели инструментов или пункт меню Debug › Stop Debugging (Отладка › Сброс).

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.