Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cette rubrique fournit une brève vue d’ensemble de la façon dont les threads et les processus peuvent être manipulés à l’aide de l’API WdbgExts. Pour obtenir une vue d’ensemble des threads et des processus dans le moteur de débogueur, consultez la section Vue d’ensemble des threads et des processus dans la section Vue d’ensemble du moteur de débogueur de cette documentation.
Threads
Pour obtenir l’adresse du bloc d’environnement de thread (TEB) qui décrit le thread actuel, utilisez la méthode GetTebAddress. Dans le débogage en mode noyau, la structure KTHREAD est également disponible pour décrire un thread. Cette structure est retournée par GetCurrentThreadAddr (en mode utilisateur débogage, GetCurrentThreadAddr retourne l’adresse du TEB).
Le contexte de thread est l’état conservé par Windows lors du changement de threads ; elle est représentée par la structure CONTEXT. Cette structure varie avec le système d’exploitation et la plateforme, et il convient de faire preuve de prudence lors de l’utilisation de la structure CONTEXT. Le contexte de thread est retourné par la fonction GetContext et peut être défini à l’aide de la fonction SetContext .
Pour examiner la trace de pile pour le thread actuel, utilisez la fonction StackTrace . Pour modifier temporairement le thread utilisé pour examiner la trace de pile, utilisez les fonctions SetThreadForOperation ou SetThreadForOperation64 . Consultez la section Examen de la trace de pile dans la section Utilisation de l’API du moteur de débogage de cette documentation pour obtenir des méthodes supplémentaires pour examiner la pile.
Pour obtenir des informations sur un thread de système d’exploitation dans la cible, utilisez l’opération IoctlIG_GET_THREAD_OS_INFO.
Processus
Pour obtenir l’adresse du bloc d’environnement de processus (PEB) qui décrit le processus actuel, utilisez la méthode GetPebAddress. Dans le débogage en mode noyau, la structure KPROCESS est également disponible pour décrire un processus. Cette structure est retournée par GetCurrentProcessAddr (en mode utilisateur débogage, GetCurrentProcessAddr retourne l’adresse du PEB).
La méthode GetCurrentProcessHandle retourne le handle système pour le processus actuel.
informations supplémentaires
Pour obtenir une API de manipulation de threads et de manipulation de processus plus puissante, consultez la section Contrôle des threads et des processus dans la section Utilisation de l’API du moteur de débogueur de cette documentation.