Aujourd'hui, j'ai rencontré un problème où je devais déboguer un programme à distance. Le programme a été lancé depuis un autre système, je n'ai donc pas vraiment la possibilité d'interagir avec lui sur la ligne de commande. Pourtant, je pourrais facilement modifier ses sources.
Ce dont j'avais besoin, c'était que le programme démarre normalement, puis attende que je m'y attache avec un débogueur. Je n'ai pas réussi à trouver un moyen de le faire qui me satisfasse. J'ai trouvé le bogue, mais sans l'aide du débogueur.
while(true) { }
Cela a permis de maintenir le processus en vie, et j'ai ensuite pu "définir l'instruction suivante" avec le débogueur, mais cela m'a semblé maladroit et impoli.
Console.ReadLine();
Il m'a semblé étrange de taper cette phrase puisqu'il n'y avait pas de console sur laquelle j'aurais pu appuyer. entrer au. (Cela n'a pas fonctionné non plus. Définir l'instruction suivante puis exécuter vous ramène à l'attente de ReadLine()).
Quel type de code puis-je insérer dans un programme .NET/CLR/C# qui dit "attendez ici jusqu'à ce que je puisse l'attacher avec un débogueur" ?