Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

просмотр регистров процессора во время отладки приложения [D6, WinXP]


CTEPH ©   (2003-10-23 22:19:00) 

Пишу некое подобие отладчика с помощью Win32 Debug API.
Необходимо просматривать регистры процессора при возникновении событий вроде LoadDll, СreateThread и т.п.
Сделал с помощью функции GetThreadContext но я не знаю правильного хэндла и поэтому регистры отображаются неправильно.
Знаю что во время события CREATE_THREAD_DEBUG_EVENT можно получить хэндл, но это не особо помогло.
Подскажите пожалуйста где найти необходимый хэндл для правильного выполнения функции GetThreadContext?


Digitman   (2003-10-24 08:34:00) [1]


> при возникновении событий вроде LoadDll, СreateThread


что это еще за "события" такие ?
нет таких "событий"
есть kernel32-ф-ции LoadLibrary, CreateThread и т.д.

а GetThreadContext никакого "хэндла" в кач-е параметра не требует
требует она ThreadId - уникальный ид-р кодового потока, который фигурирует в структуре

The DEBUG_EVENT structure describes a debugging event.

typedef struct _DEBUG_EVENT { // de
DWORD dwDebugEventCode;
DWORD dwProcessId;
DWORD dwThreadId;
union {
EXCEPTION_DEBUG_INFO Exception;
CREATE_THREAD_DEBUG_INFO CreateThread;
CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
EXIT_THREAD_DEBUG_INFO ExitThread;
EXIT_PROCESS_DEBUG_INFO ExitProcess;
LOAD_DLL_DEBUG_INFO LoadDll;
UNLOAD_DLL_DEBUG_INFO UnloadDll;
OUTPUT_DEBUG_STRING_INFO DebugString;

RIP_INFO RipInfo;
} u;
} DEBUG_EVENT;

dwThreadId
Specifies the identifier of the thread in which the debugging event occurred. A debugger uses this value to locate the debugger"s per-thread structure. These values are not necessarily small integers that can be used as table indices.


Наверх

Титульная страница Поиск, карта сайта Написать письмо