Форум: "WinAPI";
Текущий архив: 2003.12.19;
Скачать: [xml.tar.bz2];
Вниз
просмотр регистров процессора во время отладки приложения Найти похожие ветки
← →
CTEPH (2003-10-23 22:19) [0]Пишу некое подобие отладчика с помощью Win32 Debug API.
Необходимо просматривать регистры процессора при возникновении событий вроде LoadDll, СreateThread и т.п.
Сделал с помощью функции GetThreadContext но я не знаю правильного хэндла и поэтому регистры отображаются неправильно.
Знаю что во время события CREATE_THREAD_DEBUG_EVENT можно получить хэндл, но это не особо помогло.
Подскажите пожалуйста где найти необходимый хэндл для правильного выполнения функции GetThreadContext?
← →
Digitman (2003-10-24 08:34) [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.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.12.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.013 c