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

Visual C++ Discussion :

Problème chemins relatifs lors du déboguage


Sujet :

Visual C++

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 77
    Points : 65
    Points
    65
    Par défaut Problème chemins relatifs lors du déboguage
    Bonjour à vous !

    Je travaille depuis peu sur un assez gros projet (commencé il y a plus de deux ans). Le programme principal lit des données dans des fichiers xml donc le chemin est passé en arguments d'entrée.

    Je rencontre un problème étrange.

    Lorsque je vais dans le répertoire bin où sont générés les exécutables, et que je lance le .exe principal, tout se passe comme prévu, les fichiers XML sont bien trouvés (le chemin est relatif, cela donne quelque chose comme "..\fichiers\fic.xml" ...).
    remarque : Je simplifie beaucoup

    Cependant, lorsque j'exécute le programme via Visual Studio, les fichiers xml ne sont pas trouvés, comme si le répertoire "courant" n'était pas celui de l'exécutable, et donc le "..\fichiers\" n'est pas bon.

    N'utiliser des chemins absolus n'est pas une solution adéquate pour plusieurs raisons relative au projet que je n'ai pas le temps d'expliquer.

    Comment peut-on savoir "dans quel répertoire" se trouve Visual lorsqu'on débug ? Pourquoi est-ce qu'il n'est pas dans le répertoire de l'exécutable ?

    Merci

  2. #2
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    51
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 51
    Points : 43
    Points
    43
    Par défaut
    regarde peut être du cote du couple GetCurrentDirectory/SetCurrentDirectory.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DWORD GetCurrentDirectory( DWORD nBufferLength,  LPTSTR lpBuffer);
     
    BOOL SetCurrentDirectory(LPCTSTR lpPathName);
    Le premier te permet de connaitre le répertoire courant du process exécutant.
    Le second te premettra de fixer le répertoire courant pour le process exécutant.

    ++

  3. #3
    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,
    dans l'onglet de debugage tu peux specifier le chemin d'execution du programme..
    sinon par defaut je dirai que c'est l'emplacement de l'executable donc le repertoire debug.

  4. #4
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 77
    Points : 65
    Points
    65
    Par défaut
    Merci de ton aide, grace à la fonction getCurrentDirectory je viens en effet de me rendre qu'à l'exécution en mode debug lancée depuis Visual Studio, je me trouve justement dans le répertoire du fichier solution Visual Studio... Or, les fichiers ont été organisée de manière différente puisque le répertoire destination pour le .exe est plus haut dans mon arborescence de fichiers. Du coup, il y a bien un problème lorsque de je veux accéder aux fichiers ressources par des chemins relatifs.

    Existe-t-il un moyen de préciser à Visual Studio dans quel répertoire il doit se placer au moment du déboguage ? Je vais chercher dans les options en attendant, mais si vous connaissez, merci de me prévenir !

    J'imagine que beaucoup de monde doit rencontrer ce problème.

    Si je ne trouve rien de spécifique, alors je me verrai obligé de modifier tous les chemins en mettant des chemins absolus, ce qui n'est tout de même pas très portable (voir pas du tout).

  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
    Citation Envoyé par jomeo
    Existe-t-il un moyen de préciser à Visual Studio dans quel répertoire il doit se placer au moment du déboguage ? Je vais chercher dans les options en attendant, mais si vous connaissez, merci de me prévenir !
    voir ma réponse..

  6. #6
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 77
    Points : 65
    Points
    65
    Par défaut
    Salut Farscape :-)

    Au moment où j'ai commencé à rédigé mon message, je n'avais pas encore rafraichi ma page pour lire le tien !

    Depuis, j'ai trouvé par moi-même comment modifier le répertoire de travail. C'est en effet dans les options du projet > déboguage > répertoire de travail.

    Par défaut, c'est le répertoire qui contient le fichier Solution/Projet Visual C++.

    Merci à vous !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème chemin relatif
    Par peipsy dans le forum Général Java
    Réponses: 6
    Dernier message: 24/06/2011, 15h36
  2. [Picturebox] Problème de chemin relatif ?
    Par Invité dans le forum VB.NET
    Réponses: 2
    Dernier message: 08/04/2007, 14h48
  3. EasyPhp - Alias - Chemin relatif/absolu : problème
    Par Anne1969 dans le forum Langage
    Réponses: 5
    Dernier message: 30/03/2007, 10h16
  4. Réponses: 7
    Dernier message: 25/01/2007, 19h31
  5. [JSP] Include, problème de chemin relatif
    Par dafly dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 15/04/2004, 14h11

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