IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Comment faire pour debugger un service windows?


Sujet :

MFC

  1. #1
    Membre confirmé
    Avatar de irnbru
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2004
    Messages : 316
    Points : 500
    Points
    500
    Billets dans le blog
    1
    Par défaut Comment faire pour debugger un service windows?
    Bonjour, j'ai un pb avec un service windows (nt service). La compilation se fait bien. Mais au moment de le lancer, le service s'arrête tout seul. J'aimerai être en mesure de debugger comme un application normale pour trouver la raison de cet arrêt.

    Merci de me donner des infos et des liens URL si possible.

    je précise bien il s'agit de visual C++ 6.0!

    merci encore

    IRNBRU

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    normalement si tu enregistres le service avec la version debug tu dois pouvoir le debugger en attachant le process avec visual .
    le probleme c'est que dans ton cas il s'arrete tout de suite ...
    pour mes propres besoins j'ai employé un autre technique illustrée dans la faq.
    en mode debug mon programme service tourne dans une console ce qui me permet de le debugger a loisir en dehors de tout context de service.
    http://c.developpez.com/faq/vc/?page...wToMakeService


  3. #3
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    moi je me sers de la fonction OutputDebugString, comme décrit ici : http://www.developpez.net/forums/vie...944216#1944216

  4. #4
    Membre confirmé
    Avatar de irnbru
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2004
    Messages : 316
    Points : 500
    Points
    500
    Billets dans le blog
    1
    Par défaut
    Quand je lance mon service manuellement je recois le message suivant : " Le service xxxx sur ordinateur local a démarré puis s'est arrêté. Certains services peuvent s'arrêter automatiquement s'ils n'ont aucune tâche à effecteur par exemple, le service des alertes et les journaux de performance." Je suis totaltement : c'est pas mon code donc je ne comprends rien et je ne sais pas comment m'y prendre, j'y mis le code en mode debug il semblerait que j'arrive à debugger de cette manière mais je doute que lorsque je lance le service avec la console, l'exécution se fait de la meme maniere que dans l'IDE?

    IRNBRU

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    un service est programme sans IDE .
    tu peux le debugger sans probleme avec la technique que je t'ai indiqué ,apres ça dépendre de la nature de ton service.

  6. #6
    Membre confirmé
    Avatar de irnbru
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2004
    Messages : 316
    Points : 500
    Points
    500
    Billets dans le blog
    1
    Par défaut
    J'ai réussi à voir une partie du problème, le fichier de configuration était mauvais. Il donnait des chemins d'une autre machine, maintenant le service ne s'arrete plus mais une erreur s'est produite disant qu'il est impossible de créer un fichier autorun.txt, puis je debugger jusqu'au moment de cette instruction?

    merci encore

    IRNBRU

  7. #7
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    et bien si tu es en debug tu mets un point d'arret a cet endroit (F9).

  8. #8
    Membre confirmé
    Avatar de irnbru
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2004
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2004
    Messages : 316
    Points : 500
    Points
    500
    Billets dans le blog
    1
    Par défaut
    Faux! car si je met un point d'arret juste après StartServiceCtrlDispatcher, il me renvoit faux et s'arrête. Autrement dit mon point d'arrêt n'est jamais atteint.

    Mais quand je lance ce même fichier avec le manager des services windows, il ne s'arrete pas, j'ai meme mis des instructions de debuggage juste après StartServiceCtrlDispatcher dans mon code avec la méthode de nico-pyright(c), cela marche bien. Mais si je me met dans l'IDE, cela ne passe pas Gallère

    Merci quand même si vous pouvez me donner des conseils supplémentaires.

    IRNBRU

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/09/2009, 11h48
  2. Réponses: 2
    Dernier message: 28/02/2008, 12h09
  3. Réponses: 5
    Dernier message: 25/02/2008, 21h08
  4. Réponses: 4
    Dernier message: 19/06/2006, 08h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo