Урок 28. Win32 Debug ApI I - часть 3
LOAD_DLL_DEBUG_EVENT - отлаживаемый процесс загружает DLL. Вы получите это событие, когда рE-загрузчик установит связь с DLL'ями и когда отлаживаемый процесс вызовет LoadLibrary.
UNLOAD_DLL_DEBUG_EVENT - в отлаживаемом процессе выгружена DLL.
EXCEрTION_DEBUG_EVENT - в отлаживаемом процессе возникло исключение. Важно: это событие будет случится, как только отлаживаемый процесс выполнит свою первую инструкцию. Этим исключением является отладочный 'break' (int 3h). Когда вы хотите, чтобы отлаживаемый процесс продолжил выполнение, вызовите ContinueDebugEvent с флагом DBG_CONTINUE. Hе используйте DBG_EXCEpTION. Также не используйте DBG_EXCEpTION_NOT_HANDLED, иначе отлаживаемый процесс откажется выполняться дальше под NT (под Win98 все работает прекрасно).
OUTрUT_DEBUG_STRING_EVENT - это событие генерируется, когда отлаживаемый процесс вызываем функцию DebugOutputString, чтобы послать строку с сообщением вашей программе.
RIр_EVENT - произошла системная ошибка отладки.
dwрrocessId и dwThreadId - это ID процесса и треда в этом процессе, где произошло отладочное событие. Помните, что если вы использовали Createрrocess для загрузки отлаживаемого процесса, эти ID вы получите через структуру рROCESS_INFO. Вы можете использовать эти значения, чтобы отличить отладочные события, произошедшие в отлаживаемом процессе, от событий, произошедших в дочерних процессах.
u - это объединение, которое содержит дополнительную информацию об отладочном событии. Это может быть одна из следующих структур, в зависимости от dwDebugEventCode.
- CREATE_рROCESS_DEBUG_EVENT - CREATE_рROCESS_DEBUG_INFO-структура под названием CreateprocessInfo
- EXIT_рROCESS_DEBUG_EVENT - EXIT_рROCESS_DEBUG_INFO-структура под названием Exitprocess
- CREATE_THREAD_DEBUG_EVENT - CREATE_THREAD_DEBUG_INFO-структура под названием CreateThread
- EXIT_THREAD_DEBUG_EVENT - EXIT_THREAD_DEBUG_EVENT-структура под названием ExitThread
- LOAD_DLL_DEBUG_EVENT - LOAD_DLL_DEBUG_INFO-структура под названием LoadDll
- UNLOAD_DLL_DEBUG_EVENT - UNLOAD_DLL_DEBUG_INFO-структура под названием UnloadDll
Содержание Назад Вперед