Для каких целей служит GetThreadContext

Понимаю,что он занимается извлечением контекста указанного потока. Но зачем нам это делать? Для просмотра\проверки состояния всех регистров процессора на момент последнего исполнения потока и стека потока? Уже голову сломал.


Ответы (1 шт):

Автор решения: Aziz Umarov

Приведу замечания отсюда

Функция GetThreadContext используется, чтобы извлечь данные о контексте заданного потока. Функция дает возможность отбирать контекст, который будет извлекаться основываясь на значении члена структуры ContextFlags структуры CONTEXT. Дескриптор потока, идентифицированный параметром hThread обычно отлаживаемый, но функция может также работать и тогда, когда отладки он не делает.

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

Если Вы вызываете GetThreadContext для текущего потока, функция возвращает значения успешно; однако, возвращенный контекст не допустим.

более подробно об функциях, используемые при отладке

→ Ссылка