Retour
invoke WaitForDebugEvent, addr DBEvent, INFINITE
Maintenant que nous avons chopper le programme cible et que nous nous y sommes attachés, on appelle la
fonction WaitForDebugEvent. Cette fonction met à disposition un certain laps de temps pendant
lequel le débugger reste static sur cette instruction et ne s'occupe plus que de regarder si un 'debugging
événement' se produit dans le programme cible.
Quand son temps d'attente est dépassé, il arrête de regarder dans le programme cible et reprend son cours.
Ici, son temps d'attente est mis à INFINITE (soit -1) ce qui sigifie que le débugger continura toujours à
espionner le programme cible tant qu'un 'debugging événement' ne s'est pas produit. (genre fermeture du
Process ou du Lien du programme cible).
Une fois qu'un 'debugging événement' s'est produit, cette fonction récupère l'information qu'elle vient de
découvrir et la place en mémoire dans la structure 'DBEvent' qu'on avait initialisé dans les '.data?'
Par exemple si le programme cible ouvre un nouveau lien, alors l'information CREATE_THREAD_DEBUG_INFO est
stoquée dans la structure 'DBEvent'.