Architecture Net или что такое Microsoft.NET?




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

Для того чтобы увидеть, как работает оперативная отладка, введем в программу код, вызывающий необрабатываемое исключение. Этот пример находится в папке 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 (Да), чтобы начать отладку

11.gif

Рис. А.11. Диалог "Just-In-Time Debugging"("Оперативная отладка"), появляющийся при возникновении исключения

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