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

VB.NET Discussion :

Problème execution .exe


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 6
    Points
    6
    Par défaut Problème execution .exe
    Bonjour,

    Suite de mon projet déjà évoqué ici: SerialPort

    Pour bien comprendre la situation: je veux lire des données provenant d'un appareil qui doit etre connecté à un port série.
    - Je code à l'aveugle, je n'ai pas le cable de connexion pour tester.
    - Je code sur un PC ne disposant pas de port série
    - Je teste de temps en temps sur un autre PC disposant du port série (mais sans l'IDE installé).

    Pour l'instant, cette méthode marchait plutôt bien pour tester de petites choses. Mais depuis hier, alors qu'en débogage rien ne m'est signalé si ce n'est que le port série n'existe pas (normal, puisque le PC n'en dispose pas), le programme plante lorsque je l'execute sur un PC ayant un port série (quelque soit le PC). Et puis, un plantage pénard, il m'ouvre la fenetre d'erreur comme si c'était la première fenetre de mon programme, il mouline pas dans la semoule pendant 10 minutes.

    Petit screen qui va bien ici !

    Pourriez vous m'expliquer ceci:

    - en quel honneur le .exe se permet-il de planter alors qu'en débogage tout va plutot bien ? Et j'ai pas de boucles infinies dans mon programme à priori

    - que signifie et/ou comment comprendre le message d'erreur ?

    - qu'est-ce que je fais ?

    Voila, ça fait mon deuxième topics sur mon projet, j'espère ne pas trop vous saouler, je ne sais pas vraiment à qui m'adresser sinon...
    Merci d'avance

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 156
    Points : 25 075
    Points
    25 075
    Par défaut
    un programme doit avoir des try catch un peu partout
    un utilisateur qui recoit un message "le programme s'est fermé" c'est pas cool

    avec des try catch dans les sub qui craignent, le programme ne s'arrete pas, et dans le catch tu as les infos sur l'erreur que tu peux alors enregistrer à des fin de debug (message d'erreur, type d'erreur, pile des appels etc...)


    pour tester les trames il y a l'hyperterminal fourni avec les "anciennes" versions de windows (<= xp et server 2003)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre expérimenté Avatar de hunteshiva
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2010
    Messages
    1 069
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2010
    Messages : 1 069
    Points : 1 455
    Points
    1 455
    Par défaut
    la comme sa ... *pas facile*

    ton programme est long?
    la tout ce que je peut te conseiller c'est de mettre des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
            Try
                   ' ton code
            Catch ex As Exception
                   msgBox(ex.ToString())
            End Try
    pour éviter que justement ton programme plante complètement,


    mais la je dirais que l'erreur a l'air sérieuse ...
    je ne sais pas si sa suffira

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 156
    Points : 25 075
    Points
    25 075
    Par défaut
    j'ajouterais que si tu copies les .pdb sur le pc où tu testes, ex.Stacktrace te donnera le numéro de ligne qui passe en erreur
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Merci pour ces réponses. Non, il n'est pas long du tout, mais je débute donc une erreur est vite arrivée. Je ne connaissais pas Try Catch, je vais en coller un peu partout. Puis voir ex.Stacktrace et ce qu'est un .pdb aussi

    Erreur sérieuse ? Ca veut dire quoi ? Pourtant j'ai rien d'extraordinaire dans mon programme, quelques Button_Click pour changer les paramètres de l'envoi de la trame, puis envoi.

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 156
    Points : 25 075
    Points
    25 075
    Par défaut
    y a beaucoup de chose qui peuvent générer une erreur

    écrire dans un fichier qui n'existe pas, ne pas avoir les droits d'écriture
    ouvrir une connexion à une base de données avec une mauvaise chaine de connexion
    une requete avec une erreur de syntaxe

    ou meme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    dim b as button
    b.backcolor = Red
    b n'as pas été initialisé avec new donc .backcolor n'est pas accessible


    dans tous ces cas et bien d'autres, sans try catch l'appli s'arrete, avec un try catch, le code passe dans le catch sans continuer là où il a planté dans le try



    à coté de tes exe/dll dans bin\debug ou bin\realease, il y a un fichier .pdb du meme nom qui contient les informations de debug

    m'enfin j'ai ptete dit une connerie, il faut etre sur le pc de développement pour avoir le numéro de ligne d'erreur, sinon on a juste le nom du membre (sub, fonction ou property)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    D'accord, mais franchement il ne fait rien de bien méchant, il est pas optimisé, donc que des choses simples.

    Les try catch m'ont permis de zapper les commandes sur le port et donc de pouvoir tester le programme sur la machine sur laquelle je code. Aucun problème ! Pas de plantage, tout se lance. En revanche le même programme plante toujours dès le lancement sur les deux autres bécanes disposant d'un port série. Je fais peut être erreur, mais pour moi deux possibilités:

    1. Puisque les deux ordinateur posant problème disposent d'un port série, l'instruction en try catch s'execute et c'est là qu'il y a un problème.

    2. Problème de compatibilité quelconque ?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Bon, ne trouvant pas le problème, j'ai passé tout le programme en commentaire. J'ai lancé mon programme vide (avec juste les boutons et fenetres, mais aucun instruction), toujours pareil...

    Pourtant, à présent, la seule chose qui change c'est que j'ai ajouté un MenuStrip. Cela peut-il être source de bug sur certaines machines ?

  9. #9
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 156
    Points : 25 075
    Points
    25 075
    Par défaut
    sur quelle version du framework s'appuie ton appli ?
    cette version est elle installée sur le pc ?

    une appli en .net fonctionne pareillement sur toutes les machines, hormis parfois le rendu visuel qui peut légèrement différer
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Y'a les framework 1.1, 2.0, 3.0 et 3.5 installés sur le PC. En fait je doute que cela soit le problème, car avant que je travaille dessus hier, le programme se lancait, même s'il y avait des bugs. La, et même en virant tout ce que j'ai fait depuis (et même en virant tout !), il plante.

    Je continue à bidouiller.


    Edit: J'ai créé un nouveau projet, j'ai refoutu mes boutons, labels et menu, j'ai renommé comme j'avais fait, j'ai c/c mon code et hop, tout va pour le mieux dans le meilleur des mondes ! Si quelqu'un a une explication, je suis preneur. La seule que je vois serait une corruption des codes de la fenetre ou des objets, mais si c'est pas ça, je rends mon tablier !

Discussions similaires

  1. lancer un executable (.exe)
    Par antrax2013 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 12/07/2007, 20h59
  2. Problème execution d'une DLL en ASP
    Par turcotm dans le forum ASP
    Réponses: 3
    Dernier message: 03/09/2005, 09h16
  3. Problème execution script perl
    Par 00sebbe dans le forum Apache
    Réponses: 1
    Dernier message: 29/08/2005, 14h43
  4. Problème executable et windows
    Par mulot49 dans le forum MFC
    Réponses: 9
    Dernier message: 17/06/2004, 09h34
  5. problème execution dll
    Par semenzato dans le forum MFC
    Réponses: 15
    Dernier message: 19/12/2003, 16h40

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