На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Debugger Support



The system's handling of user-mode exceptions provides support for sophisticated debuggers. If the process in which an exception occurs is being debugged, the system generates a debug event. If the debugger is using the WaitForDebugEvent function, the debug event causes that function to return with a pointer to a DEBUG_EVENT structure. This structure contains the process and thread identifiers that the debugger can use to access the thread's context record. The structure also contains an EXCEPTION_DEBUG_INFO structure that includes a copy of the exception record.

The system's search for an exception handler includes two attempts to notify a process's debugger. The first notification attempt provides the debugger with an opportunity to handle breakpoint or single-step exceptions. The user can then issue debugger commands to manipulate the process's environment before any exception handlers are executed. The second attempt to notify the debugger occurs only if the system is unable to find a frame-based exception handler that handles the exception.

At each notification attempt, the debugger uses the ContinueDebugEvent function to return control to the system. Before returning control, the debugger can handle the exception and modify the thread state as appropriate, or it can choose not to handle the exception. Using ContinueDebugEvent, the debugger can indicate that it has handled the exception, in which case the machine state is restored and thread execution is continued at the point at which the exception occurred. The debugger can also indicate that it did not handle the exception, which causes the system to continue its search for an exception handler.


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Поддержка Отладчика



Системная обработка потребителя-способа исключений обеспечивает поддержку для умных программ отладки. Если процесс в котором исключение происходит отлаживается, система генерирует отладочный случай. Если отладчик использует функцию WaitForDebugEvent, отладочный случай вызывает, что функционирует, чтобы возвращаться с указателем в структуру DEBUG_EVENT. Эта структура содержит процесс и заправляет идентификаторы, которые отладчик может использовать, чтобы иметь доступ к контекстной записи резьбы. Структура также содержит структуру EXCEPTION_DEBUG_INFO, которая включает копию исключительной записи.

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

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


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz