Je veux attacher à un processus (a.exe) dès qu’il est engendré, est-ce faisable avec VS? Je ne connais que le nom du processus. En fait, ce que je veux accomplir, c’est définir un point d’arrêt dans le code c#, mais le code appartient à un autre exécutable qui sera lancé par l’application en cours d’exécution (c.exe). Le code est à l’intérieur de la période d’initialisation, il m’est donc impossible de joindre manuellement.
Réponses
Trop de publicités?Lorsque j’ai déjà été confronté à cette situation (et que j’ai contrôlé les deux processus), j’ai trouvé une solution de contournement décente consistant à appeler Debugger.Launch() dans le point d’entrée du processus de frai. VS affichera ensuite une boîte de dialogue et vous permettra de vous attacher au processus.
Une autre bonne solution consiste à utiliser l’extension Visual Studio « ReAttach ». Peut être trouvé ici.
Si votre processus n’est pas en cours d’exécution, ReAttach vous demandera de le démarrer et de l’attacher dès qu’il sera disponible.
« Entrian Attach » est un complément Visual Studio qui fait exactement cela - vous lui indiquez le nom de votre exécutable et il attache le débogueur au démarrage du processus, quelle que soit la façon dont il est démarré, avant que le code ne s’exécute.
(Divulgation: Je suis l’auteur. J’ai construit Attach parce que j’ai ce problème tout le temps!)