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

C++ Discussion :

has entry point ouside the code


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut has entry point ouside the code
    Bonjour,

    Je commence à coder en c++, avant je codais en asm.
    Et j'ai un problème en utilisant mon debugger, Immunity debugger.
    Ca me dit:
    "Module 'ConsoleA' has entry point ouside the code (as specified in the PE header).
    Maybe this file is self-extracting or self-modifying. Please keep it in mind when setting breakpoints!"

    Je compile avec Visual studio 2019.

    Y-a t-il une solution pour pouvoir debugger un programme compilé avec Visual studio 2019 ?

    Merci.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Es-tu sûr que c'est un projet pour un programme en C++ "natif", et non un projet pour le Framework .Net ou Universal Windows Platform?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Oui, en faite j'ai cliqué sur "nouveau projet" puis "application console" et ensuite "c++".

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Personne pour m'aider ? Qu'est-ce que je fais de mal ?

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    C'est peut-être qu'on n'a simplement pas la réponse.
    Je n'ai j'amais utilisé Immunity Debugger, moi. Et j'ignore quelle édition de Visual Studio tu as, et comme je ne connais pas Visual Studio 2019, je ne sais même pas si ça a vraiment une influence, j'ignore quelles options d'installation tu as choisies, etc.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    J'ai installé Visual studio 2019, et la partie c++ uniquement, pas le reste.
    Et-ce que quelqu'un qui a Visual studio 2019 pourrait me dire si ça lui fait pareil ou pas ?
    Et je viens de voir qu'il y a un onglet debogage dans les options de Visual studio. Peut être que le problème vient d'une option qui devrait être ou ne devrait pas être activé. Perso j'y pige que dal donc je préfère ne pas y toucher sans savoir.

  7. #7
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 942
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 942
    Points : 5 654
    Points
    5 654
    Par défaut
    Bonjour,

    Désolé, mais ma boule de cristal est en grève !

    Sans blague, on teste quoi pour savoir si ça fait pareil que quoi ?
    Si les cons volaient, il ferait nuit à midi.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Est-ce que vous arrivez à debugger un programme compilé en c++ avec Visual studio 2019 ? C'est simple comme question, non ?

  9. #9
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Oui, j'ai aucun souci, que ce soit avec Visual Studio 2008, 2012, 2015, 2017 et 2019.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  10. #10
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,
    Citation Envoyé par n5Rzn1D9dC Voir le message
    Est-ce que vous arrivez à debugger un programme compilé en c++ avec Visual studio 2019 ? C'est simple comme question, non ?
    Oui, bien sur!

    Mais, pour y arriver, nous avons quelques avantages par rapport à la situation présente:
    1. on sait quel type d'installation a été effectuée pour visual studio (ou, à défaut, on peut toujours la vérifier)
    2. on dispose du code de l'application qui doit être débugguée
    3. on sait -- a priori -- le type d'application que nous avons créé avec visual studio
    4. on sait -- a priori -- ce que l'application est sensée faire

    Dans le cas présent, nous avons un message qui visiblement pose problème, mais, comme nous ne disposons d'aucun de ces éléments, il devient particulièrement difficile de t'aider

    Au cas où l"on ne te l'aurais jamais dit:

    La règle d'or sur un forum informatique est "de nous aider à t'aider", car nous ne savons rien de ce que tu as pu faire (ou ne pas faire) ni de tes intensions au moment où tu l'as fait.

    Pour ce faire, l'idéal est -- au minimum -- de nous fournir
    • un code minimum compilable qui puisse reproduire le problème
    • les options utilisées pour la compilation
    • l'ensemble des messages d'avertissement et d'erreur que tu obtiens

    A défaut de pouvoir être à coté de toi lorsque tu tente ta compilation / ton débuggage, cela devrait ( ** normalement ** ) nous permettre de nous faire une idée plus précise de "ce qui cloche"; le tout en gardant en tête le fait que, avec un peu de (mal)chance, les informations fournies risquent d'avoir un résultat tout à fait correct chez nous
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    1 - Comme je l'ai déjà dit, installation par défaut pour du c++. Aucun autre type de langage n'a été installé.
    2 - Voilà le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
     
    #include <winsock2.h>
    #include <ws2tcpip.h>
    #include <stdio.h>
     
    // link with ws2_32.lib
    #pragma comment(lib, "Ws2_32.lib")
     
    int __cdecl main(int argc, char** argv)
    {
     
        //-----------------------------------------
        // Declare and initialize variables
        WSADATA wsaData = { 0 };
        int iResult = 0;
     
        DWORD dwRetval;
     
        struct sockaddr_in saGNI;
        char hostname[NI_MAXHOST];
        char servInfo[NI_MAXSERV];
        u_short port = 27015;
        struct sockaddr_in ip4addr;
     
        // Validate the parameters
        if (argc != 2) {
            printf("usage: %s IPv4 address\n", argv[0]);
            printf("  to return hostname\n");
            printf("       %s 127.0.0.1\n", argv[0]);
            return 1;
        }
        // Initialize Winsock
        iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);
        if (iResult != 0) {
            printf("WSAStartup failed: %d\n", iResult);
            return 1;
        }
        //-----------------------------------------
        // Set up sockaddr_in structure which is passed
        // to the getnameinfo function
        ip4addr.sin_family = AF_INET;
        ip4addr.sin_port = htons(3490);
        inet_pton(AF_INET, "127.0.0.1", &ip4addr.sin_addr);
     
     
        //-----------------------------------------
        // Call getnameinfo
        dwRetval = getnameinfo((struct sockaddr*)&saGNI,
            sizeof(struct sockaddr),
            hostname,
            NI_MAXHOST, servInfo, NI_MAXSERV, NI_NUMERICSERV);
     
        if (dwRetval != 0) {
            printf("getnameinfo failed with error # %ld\n", WSAGetLastError());
            return 1;
        }
        else {
            printf("getnameinfo returned hostname = %s\n", hostname);
            return 0;
        }
    }

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    - ce code est du C et non du C++
    - ce code compile et se lance parfaitement dans un projet VS2019 tout neuf, du moment que c'est au moins une console application
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Citation Envoyé par Bousk Voir le message
    - ce code est du C et non du C++
    Ok, c'est un code que j'ai récupéré sur le net, juste pour tester getnameinfo

    Citation Envoyé par Bousk Voir le message
    - ce code compile et se lance parfaitement dans un projet VS2019 tout neuf, du moment que c'est au moins une console application
    Oui mais est-ce qu'il se debug ? (avec n'importe quel debugger)

  14. #14
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Essaye de supprimer __cdecl : peut être que cela ne va rien changer, mais cette "calling convention" pour le main est assez bizarre

  15. #15
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par foetus Voir le message
    Essaye de supprimer __cdecl : peut être que cela ne va rien changer, ais cette "calling convention" pour le main est assez bizarre
    En fait, non, pas tant que cela au vu du reste du code, et étant bien entendu que
    1. on s'apprête à créer une application console qui n'est destinée qu'à windows
    2. on inclut explicitement des fichiers d'en-têtes qui sont spécifiques à windows

    Pour être précis, __declspec est la convention d'appel (pour utiliser le terme français ) utilisée par défaut sous windows.

    Il n'est, bien sur, pas obligatoire de la donner (généralement, quand on donne une convention d'appel différente sous windows, c'est pour se farcir un __declspec(dllimport|dllexport) ), mais elle n'entre malgré tout pas en conflit avec ce que le compilateur attend pour la fonction main

    Retitrer l'appel explicite ne changera rien dans le cas présent.
    Citation Envoyé par n5Rzn1D9dC Voir le message
    Oui mais est-ce qu'il se debug ? (avec n'importe quel debugger)
    Sans aucun problème: j'ai
    1. créé une toute nouvelle solution, "console"
    2. copié / collé le code que tu fournis
    3. compilé la solution
    4. placé un piont d'arrêt à hauteur du if
    5. lancé le débuggage

    et tout s'est déroulé à la perfection, dans le sens où le débuggueur a bien arrêté l'exécution à hauteur du test (et que le programme s'apprête donc à m'afficher un message avant de quitter, vu que je n'ai pas donné de deuxième paramètre )

    J'ai donc ajouté un paramètre supplémentaire pour le débuggage (127.0.0.1, comme l'indiquait le message affiché) dans le menu deboguer->"propriétés de débogage" puis en sélectionnant "débogage" pour ajouter cette valeur dans "Arguments de la commande", ce qui a permis au programme de s'exécuter jusqu'à la ligne 54.

    Arrivé à ce point, il se fait que dwRetval valait 1047 (chez moi), et donc que le programme s'est arrêter après avoir affiché un message d'erreur

    Mais bon, le débogage s'est passé exactement de la manière dont il était sensé le faire
    Ok, c'est un code que j'ai récupéré sur le net, juste pour tester getnameinfo
    Ce n'est jamais une bonne idée de récupérer un code que l'on ne comprend pas un minimum ... Surtout quand on ne maitrise pas déjà un minimum le langage utilisé et / ou l'EDI que l'on utilise
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Citation Envoyé par koala01 Voir le message
    [*]placé un piont d'arrêt à hauteur du if
    Et comment on fait cela ?
    Désolé mais je débute en c++. Avant (et encore maintenant) je faisais de l'asm, et mes codes asm je n'ai pas besoin de placer de point d'arrêt pour les debug, je lance l'exécutable avec mon debugger, et le debug s'arrête pile en haut du code, pas besoin de placer de point d'arrêt dans le code, le debugging démarre au début du code..

  17. #17
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 451
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 451
    Points : 43 097
    Points
    43 097
    Par défaut
    je n'ai pas besoin de placer de point d'arrêt pour les debug, je lance l'exécutable avec mon debugger, et le debug s'arrête pile en haut du code, pas besoin de placer de point d'arrêt dans le code
    Ton debugger par défaut place un point d'arrêt sur le point d'entrée de ton code. Si tu veux pas te farcir la commande passant à l'instruction suivante jusqu'à un point précis du code (accès à une fonction, à une variable) loin du début, il te faut placer des points d'arrêts. J'espère que c'est un acquis pour toi.

    En C/C++, et avec le debuggeur intégré de Visual Studio, tu ne devrais pas avoir de difficulté à placer un point d'arrêt au niveau de l'instruction C de ton choix. Je connais pas Visual studio, mais tu dois probablement pouvoir le faire en te plaçant sur la ligne de code ou tu veux placer un point d'arrêt et appuyer sur une touche de fonction (ou sinon aller dans les menus). Ensuite en lançant le code, celui-ci s'arrêtera au niveau du point d'arrêt.

    La convention d'appel indique la façon dont les paramètres d'une fonction sont passés. c'est important de la connaitre pour interpréter en assembleur en cas de déboguage, mais si tu restes sur la même plateforme, elle sera toujours la même.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    Ton debugger par défaut place un point d'arrêt sur le point d'entrée de ton code. Si tu veux pas te farcir la commande passant à l'instruction suivante jusqu'à un point précis du code (accès à une fonction, à une variable) loin du début, il te faut placer des points d'arrêts. J'espère que c'est un acquis pour toi.
    Oui j'ai bien compris qu'en c++ on a pas trop le choix vu la taille finale des codes. Mais en asm c'est différent, les codes sont tellement petit qu'il n'y a pas besoin de placer de point d'arrêt (exemple MenuetOS qui fait moins d'un mo).
    Autre exemple, le code qui j'ai posté ci-dessus compile un exécutable de 39ko. J'ai fait en asm le même code mais en plus élaboré (il scanne tous les hôtes de classe C et D et les enregistres dans un fichier.txt), et bien l'exécutable fait seulement 3ko..

    Citation Envoyé par chrtophe Voir le message
    En C/C++, et avec le debuggeur intégré de Visual Studio, tu ne devrais pas avoir de difficulté à placer un point d'arrêt au niveau de l'instruction C de ton choix. Je connais pas Visual studio, mais tu dois probablement pouvoir le faire en te plaçant sur la ligne de code ou tu veux placer un point d'arrêt et appuyer sur une touche de fonction (ou sinon aller dans les menus). Ensuite en lançant le code, celui-ci s'arrêtera au niveau du point d'arrêt.

    La convention d'appel indique la façon dont les paramètres d'une fonction sont passés. c'est important de la connaitre pour interpréter en assembleur en cas de déboguage, mais si tu restes sur la même plateforme, elle sera toujours la même.
    Ok merci bien, je vais voir ça.

    edit: J'ai placé un point d'arrêt au niveau du if, mais j'ai toujours le même message dans Immunity debugger, et le code est arrêté sur ConsoleA. Donc pas du tout là où il faudrait..

  19. #19
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Citation Envoyé par n5Rzn1D9dC Voir le message
    Et comment on fait cela ?
    Désolé mais je débute en c++. Avant (et encore maintenant) je faisais de l'asm, et mes codes asm je n'ai pas besoin de placer de point d'arrêt pour les debug, je lance l'exécutable avec mon debugger, et le debug s'arrête pile en haut du code, pas besoin de placer de point d'arrêt dans le code, le debugging démarre au début du code..
    Tu cliques droit sur la liste où tu souhaite placer ton point d'arrêt, et, à peu près au milieu du menu contextuel tu vas vois une ligne "point d'arrêt", qui te proposera, lorsque tu cliquera dessus, la possibilité de
    • placer un point d'arrêt (ce qui t'intéresse)
    • placer un point de trace
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Mars 2013
    Messages
    397
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2013
    Messages : 397
    Points : 424
    Points
    424
    Par défaut
    Oui merci, mais j'avais arrivé à le faire, je l'ai expliqué dans mon message précédant en l'éditant.
    Mais ça ne fonctionne pas.

Discussions similaires

  1. Découpage du code de l'Entry Point
    Par vittel dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 13/07/2012, 11h24
  2. Entry point d'un exe
    Par Moustico dans le forum C
    Réponses: 5
    Dernier message: 16/02/2006, 09h47
  3. Réponses: 17
    Dernier message: 28/07/2005, 08h20
  4. [State Event] Eléments Initial & Entry point
    Par Emerica dans le forum Autres Diagrammes
    Réponses: 2
    Dernier message: 12/11/2004, 14h50
  5. Réponses: 4
    Dernier message: 19/07/2004, 14h52

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