2011-04-25 3 views
1

J'essaye de déboguer un service. La procédure habituelle consiste à démarrer le service et à attacher gdb au processus. Mais je veux déboguer le code quand le service est toujours en train de démarrer. Il faut un certain temps à gdb pour charger les bibliothèques, et le code requis a été exécuté avant que je puisse mettre les points d'arrêt. Une idée de comment le faire? Merci!Débogage lors du démarrage du service

Répondre

2

Supposons que votre service est appelé « MyService.exe »

Si vous pouvez obtenir sur la boîte que le code est en fait en cours d'exécution sur, je ferais ce qui suit:

$ gdb myservice.exe 
(gdb) break myclass:myfunction 
(gdb) run 

Cela devrait vous obtenez ce que vous voulez. Remarque: si vous ne pouvez pas exécuter directement gdb, mettez une instruction "sleep" pendant 1 minute au tout début (avant la partie que vous voulez déboguer) - cela devrait vous permettre de vous connecter avant de démarrer le sensible code.

Questions connexes