Retour

invoke WaitForDebugEvent, addr DBEvent, INFINITE


Maintenant que le programme cible commence tout juste, 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'.