Retour <-- Vers Partie 1 Vers Partie 2 -->Retour
.break .if DBEvent.dwDebugEventCode==EXIT_PROCESS_DEBUG_EVENT
DBEvent, vouv vous rappelez, c'est notre structure pour stocker les 'debugging événements'.
dwDebugEventCode, c'est le type d'événement.
Reportez vous au lien DEBUG_EVENT si vous ne vous
rappelez plus de cette structure.
Ici, c'est bien le type d'événement stocké dans la structure
DBEvent qui nous intéresse. Mais on aurait aussi pu s'intéresser à DBEvent.dwProcessId ou
DBEvent.dwThreadId.
Donc là, si le 'debugging événement' récupéré dans notre structure est 'EXIT_PROCESS_DEBUG_EVENT'
(le programme cible termine son Process, en fait le programme cible se ferme avec ExitProcess ou TerminateProcess) alors
on fait un 'break' dans le débugger. Il sort de sa 'boucle de debugging' et va à sa fin pour lui
aussi se fermer.
Donc si le debugger trouve un ExitProcess dans le programme cible, alors lui aussi se dirige vers son propre
ExitProcess.