Bonjour à tous,

je travaille avec Visual Studio 2005 en C/C++ et voici ma petite histoire :

J'ai une solution qui contient 3 projets (A, B et C) qui génèrent tous des exécutables.

A lance B et C avec CreateProcess("B.exe",...) et CreateProcess("C.exe",...), puis attend qu'ils aient fini avec un WaitForMultipleObjects.
B et C font ce qu'ils ont à faire et se terminent.
A reprend alors la main, et se termine à son tour.
Tout ça marche très bien.

Ensuite je veux pouvoir debugger B et C une fois qu'ils ont été lancés par A, et c'est là que ça se corse :
Je suis obligé de bloquer B et C en attente sur un flag dans une mémoire partagée (créée par A puis utilisée par B et C), puis de placer un point d'arrêt dans A avant qu'il ne set le flag, puis d'attacher B et C à la main (menu Outil/Attacher le processus...), puis de relancer A qui set le flag, et enfin je peux debugger dans B et C.
Bref, c'est très pénible...

La question que je vous pose, à vous, ô experts Visualistes, c'est comment rendre ça automatique.

J'ai lu sur ce même forum qu'il y avait un moyen à base de DebugActiveProcess( GetCurrentProcessId() ) à placer au début de B et C, mais j'ai beau tourner et retourner le truc dans tous les sens, rien n'y fait.
J'ai même essayé d'appeler DebugActiveProcess dans A avec les id des process B et C juste crées.
Au mieux, j'ai une erreur 5 : accès refusé.

Alors si vous connaissez le truc, je suis preneur !

Merci