Partager via


Threads et processus WdbgExts

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 du débogueur, consultez Threads et processus dans la section Vue d’ensemble du moteur du débogueur de cette documentation.

Fils

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 (dans le cadre du débogage en mode utilisateur, GetCurrentThreadAddr retourne l’adresse du TEB).

Le contexte de thread est l’état conservé par Windows lors du changement de threads ; il est représenté par la structure CONTEXT. Cette structure varie en fonction du système d’exploitation et de la plateforme et doit être soignée 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 du thread actif, utilisez la fonction StackTrace . Pour modifier temporairement le thread utilisé pour examiner la trace de pile, utilisez les fonctions SetThreadForOperation ou SetThreadForOperation64 . Consultez Examen de la trace de pile dans la section Utilisation de l’API du moteur de débogueur de cette documentation pour obtenir des méthodes supplémentaires d’examen de la pile.

Pour obtenir des informations sur un thread de système d’exploitation dans la cible, utilisez le IG_GET_THREAD_OS_INFO d’opération Ioctl.

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 (dans le cadre du débogage en mode utilisateur, GetCurrentProcessAddr retourne l’adresse du PEB).

La méthode GetCurrentProcessHandle retourne le handle système pour le processus en cours.

Informations supplémentaires

Pour obtenir une API de manipulation de thread et de manipulation de processus plus puissante, consultez Contrôle des threads et des processus dans la section Utilisation de l’API du moteur de débogueur de cette documentation.