Threads et processus

Terminologie

Les concepts de thread et de processus sont différents entre le débogage en mode utilisateur et le débogage en mode noyau.

  • Dans le débogage en mode utilisateur, un processus est un processus de système d’exploitation et un thread est un thread de système d’exploitation.

  • En cas de débogage en mode noyau, le moteur du débogueur crée un processus virtuel pour chaque cible ; Ce processus représente le noyau et ne correspond à aucun processus du système d’exploitation. Pour chaque processeur physique de l’ordinateur cible, le débogueur crée un thread virtuel; ces threads représentent les processeurs et ne correspondent à aucun thread de système d’exploitation.

Lorsqu’un événement se produit, le moteur définit le processus d' événement et le thread d’événement sur le processus et le thread (système d’exploitation ou virtuel) dans lequel l’événement s’est produit.

Le thread actuel est le thread (système d’exploitation ou virtuel) actuellement contrôlé par le moteur. Le processus actuel est le processus (système d’exploitation ou virtuel) actuellement contrôlé par le moteur. Lorsqu’un événement se produit, le thread et le processus actifs sont initialement définis sur le thread d’événement et le processus ; Toutefois, ils peuvent être modifiés à l’aide des clients pendant que la session est accessible.

En mode noyau, le débogueur effectue le suivi d’un processus implicite et d’un thread implicite. Le processus implicite est le processus du système d’exploitation qui détermine la traduction des adresses virtuelles en mémoire physique.

Le thread implicite est le thread de système d’exploitation qui détermine les registres de la cible, y compris la pile des appels, le frame de pile et le décalage d’instruction.

Lorsqu’un événement se produit, le thread implicite et le processus implicite sont initialement définis sur le thread d’événement et le processus ; ils peuvent être modifiés pendant que la session est accessible.

Données de thread et de processus

Le moteur gère plusieurs éléments d’information sur chaque thread et processus. Cela comprend le thread système et l’ID de processus et les handles du système, ainsi que l’environnement de processus (PEB), le bloc d’environnement de thread (TEB) et leurs emplacements dans la mémoire de la cible.

Informations supplémentaires

Pour plus d’informations sur l’utilisation des threads et des processus, consultez contrôle des threads et des processus.