Windows для профессионалов


Отладка по запросу - часть 2


Как Вы помните, оно было создано в занятом состоянии, поэтому поток отлаживаемого процесса немедленно приостанавливается и ждет освобождения этого события

Закончив инициализацию, отладчик вновь проверяет командную строку — на этот раз он ищет ключ -e. Найдя его, отладчик считывает оиисатель события и вызывает SetEvent. Он может напрямую использовать этот наследуемый описатель, поскольку процесс отладчика является дочерним по отношению к отлаживаемому процессу, который и породил его, вызвав UnhandledExceptionFilter.

Переход события в свободное состояние пробуждает поток отлаживаемого про цесса, и он передает отладчику информацию о необработанном исключении. Полу чив эти данные, отладчик загружает соответствующий файл исходного кода и Пере ходит к команде, которая вызвала исключение. Вот это дейстничельно круто!

Кстати, совсем не обязательно дожидаться исключения, чгобы начать отладку. Отладчик можно подключить в любой момент командой "MSDEV -p PID", где PID — идентификатор отлаживаемого процесса. Task Manager в Windows 2000 еще больше упрощает эту задачу. Открыв вкладку Process, Вы можете щелкнуть строку с нужным процессом правой кнопкой мыши и выбрать из контекстного меню команду Debug. В ответ Task Managcr обратится к только что рассмотренному разделу реестра и вы зовет CreatуProcess, передав ей идентификатор выбранного процесса Но вместо опи сателя события Task Manager передаст 0.




Начало  Назад  Вперед



Книжный магазин