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 :

Petit problème de démarrage de service


Sujet :

MFC

  1. #1
    Membre régulier Avatar de jagboys
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 166
    Points : 111
    Points
    111
    Par défaut Petit problème de démarrage de service
    Bonjour,
    Je ne sais pas si cette partie du forum est approprié pour cette question.
    J'ai fait un programme mfc qui tourne en temps que service windows. Tout se passe bien durant son exécution. Ce service est en autostart. Pour une raison bien particuliere le service arrête volontairement son exécution. Lors du démarrage de la machine, windows lève une erreur est annonce à chaque fois par une boite de dialogue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Monservice.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru.
    Que peut on faire pour éviter ce message ?

    Merci pour votre aide.

  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
    Citation Envoyé par jagboys Voir le message
    Bonjour,
    Je ne sais pas si cette partie du forum est approprié pour cette question.
    J'ai fait un programme mfc qui tourne en temps que service windows. Tout se passe bien durant son exécution. Ce service est en autostart. Pour une raison bien particuliere le service arrête volontairement son exécution. Lors du démarrage de la machine, windows lève une erreur est annonce à chaque fois par une boite de dialogue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Monservice.exe a rencontré un problème et doit fermer. Nous vous prions de nous excuser pour le désagrément encouru.
    Que peut on faire pour éviter ce message ?

    Merci pour votre aide.
    trouver le problème...
    déjà commence par regarder le journal des événements pour voir si il n'y pas d'informations supplémentaires.
    ce genre de problème est très vaste:
    ça peut correspondre a un dll manquante , ou le simple bug de corruption mémoire.
    le plus simple est de procéder en rajoutant des messages
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     OutputDebugString("\n phase 1");
    dans ton programme a toutes les étapes clefs en affinant par dichotomie l'emplacement du problème .
    les messages seront visibles en release grâce a l'utilitaire debugview.
    http://cpp.developpez.com/faq/vc/ind...putDebugString

    tu peux aussi faire en sorte que ton service fonctionne comme un programme en mode debug pour s'assurer de son bon fonctionnement...
    voir faq:;
    http://cpp.developpez.com/faq/vc/ind...wToMakeService

  3. #3
    Membre régulier Avatar de jagboys
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 166
    Points : 111
    Points
    111
    Par défaut Problème de demarrage service au demarrage de la machine
    Bonjour,

    Le service écrit tous les evènements à chaque étape dans un fichier de log. Tout se passe bien et le service s'arrête comme il faut en respectant les conditions que je lui pose. J'ai également testé avec OutputDebugString et le résultat est le même.
    L'erreur est levé par windows seulement quand la machine démarre et seulement si le service s'arrête volontairement.
    En fait j'ai remarqué que si je retourne FALSE dans InitService() l'erreur se produit. Je retourne FALSE quand le service ne doit pas démarrer et je mets bRunningService=FALSE.
    J'ai suivi exactement le tutorial de Farscape avec les mêmes fonctions.
    Ce n'est pas un problème de chargement de dll ni d'accès au système de fichier.
    Comment éviter que windows arrête le service tout en levant pas d'erreur ?

    Merci pour votre aide.

  4. #4
    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
    salut,
    je ne comprends pas ton problème ...
    tu fais démarrer le service et donc le thread principal , et tu fausses le résultat de InitService en retournant false ?
    l'arrêt du service doit se faire par la procédure normale : par le controlleur des services.
    si c'est ton service lui même qui doit gérer son arrêt tu peux lancer un programme qui s'occupera de fermer ton service en utilisant :
    OpenSCManager etc..

Discussions similaires

  1. Probléme de démarrage du service PostgreSQL
    Par abynap2001 dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 10/11/2014, 09h30
  2. Probléme de démarrage du service PostgreSQL
    Par andaas dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 15/06/2010, 10h59
  3. Problème de démarrage des services tomcat!
    Par mordrack dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 02/02/2010, 17h34
  4. Problème de démarrage des services Oracle (10.2.0.4)
    Par fred_04510 dans le forum Administration
    Réponses: 5
    Dernier message: 16/11/2009, 14h52
  5. Problème de démarrage du service MYSQL
    Par cjo dans le forum Installation
    Réponses: 5
    Dernier message: 05/09/2006, 15h00

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