Потоки и процессы WdbgExts
В этом разделе представлен краткий обзор того, как можно управлять потоками и процессами с помощью API WdbgExts. Общие сведения о потоках и процессах в подсистеме отладчика см. в разделе Потоки и процессы в разделе Общие сведения о обработчике отладчика этой документации.
Потоков
Чтобы получить адрес блока среды потока (TEB), который описывает текущий поток, используйте метод GetTebAddress. При отладке в режиме ядра структура KTHREAD также доступна для описания потока. Эта структура возвращается методом GetCurrentThreadAddr (в пользовательском режиме отладки GetCurrentThreadAddr возвращает адрес TEB).
Контекст потока — это состояние, сохраняемое Windows при переключении потоков; он представлен структурой CONTEXT. Эта структура зависит от операционной системы и платформы, и при использовании структуры CONTEXT следует соблюдать осторожность. Контекст потока возвращается функцией GetContext и может быть задан с помощью функции SetContext .
Чтобы проверить трассировку стека для текущего потока, используйте функцию StackTrace . Чтобы временно изменить поток, используемый для проверки трассировки стека, используйте функции SetThreadForOperation или SetThreadForOperation64 . Дополнительные методы проверки стека см. в разделе Проверка трассировки стека в разделе Использование API обработчика отладчика этой документации.
Чтобы получить сведения о потоке операционной системы в целевом объекте, используйте операциюIoctl IG_GET_THREAD_OS_INFO.
Процессов
Чтобы получить адрес блока среды процесса (PEB), который описывает текущий процесс, используйте метод GetPebAddress. При отладке в режиме ядра структура KPROCESS также доступна для описания процесса. Эта структура возвращается методом GetCurrentProcessAddr (в пользовательском режиме отладки GetCurrentProcessAddr возвращает адрес PEB).
Метод GetCurrentProcessHandle возвращает системный дескриптор для текущего процесса.
Дополнительные сведения
Более мощный API обработки потоков и обработки процессов см. в разделе Управление потоками и процессами в разделе Использование API обработчика отладчика этой документации.