none
Débogeur et affichage des variables RRS feed

  • Discussion générale

  • Bonjour à tous,

    nous rencontrons un problème depuis quelque temps, mais pas tout le temps.

    Il arrive qu'il ne soit pas possible d'afficher le contenu des variables depuis le débogeur.

    A l'intérieur d'une méthode, si la variable est déclaré à l'extérieur de cette méthode, sa valeur est visible.

    Si la variable est déclarée à l'intérieur de la méthode, sa valeur n'est pas visible (ex. avec lcnbverrou, en pointant la souris dessus, rien ne se passe, en faisant un clic droit /Espion, la fenêtre espion indique "variable inaccessible en raison de son niveau de protection" alors que la variable est crée une ligne au-dessus!!! ) !

    Merci d'avance pour vos réponses !


    mardi 3 novembre 2015 10:10

Toutes les réponses

  • Bonjour, bobertin,

    Veuillez consulter le lien en bas:
    VB: Object “inaccessible due to its protection level” (Visual Studio 2012)
    Je vous remercie par avance de votre retour.

    Cordialement,
    Teodora


    Votez! Appel à la contribution TechNet Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mercredi 4 novembre 2015 10:04
    Modérateur
  • Bonjour,

    il semble que le thread que vous m'avez communiqué parle de portée de variable. Moi, je parle juste d'affichage de la valeur dans le débugger.Le code que je vous ai mis en exemple ne plante pas, juste je ne vois pas les valeurs dans le débugger, pour travailler, c'est un peu compliqué...

    Dim lcCelleLaOnLaVoie as integer
    Public Sub UnIDEQuiMarcheCMieux()
         Dim lcCelleLaOnNeLaVoiePas as integer 
         lcCelleLaOnLaVoie = 4 
         lcCelleLaOnNeLaVoiePas = 8
    END SUB

    Ce code à l'arrache ne peut pas planter.

    Mais dans le débugger, j'ai bien le tooltip avec la valeur de la variable sur la variable lcCelleLaOnlaVoie (qui est déclarer en dehors de la méthode "unIdeQuiMarcheCMieux") , mais je ne l'ai pas sur la variable lcCelleLaOnNeLaVoiePas (qui est déclaré dans la méthode "unIdeQuiMarcheCMieux") .

    En faisant des Nettoyer la solution, puis régénérer la solution, il arrive que nous ayons à nouveau accès a ces ***** de valeur. Mais pas tout le temps, et nous n'arrivons pas à identifier dans quel cas cela fonctionne et dans quel cas cela ne fonctionne pas....

    Dans l'attente de vous lire.

    Et en effectuant deux trois recherches, je suis loin d'être le seul à avoir le problème !


    mercredi 4 novembre 2015 10:27
  • Toujours pas de réponse... Je n'ai bientôt plus d'éponges pour nettoyer la solution...

    Quelqu'un a-t-il une femme de ménage à me proposer ?

    mardi 17 novembre 2015 09:18
  • Bonjour,

    C'est avec quelle version de Visual Studio ? Si c'est 2015, le SP1 arrive très bientôt (il était pas vraiment sec à la sortie ;-)).

    Sinon, plutôt que de faire des points d'arrêt et regarder la valeur d'une valeur, il est préférable de tracer (ou de debug'uer'). C'est une meilleure pratique.

    Par exemple, vous pouvez faire :

    Debug.WriteLine(lcCelleLaOnNeLaVoiePas)

    Ou mieux :

    Trace.WriteLine(lcCelleLaOnNeLaVoiePas )

    Le jour ou vous mettrez des logs en place, vous serez habituer.

    Je sais, ca ne répond pas à la question, mais comme dirait l'autre, c'est ma réponse ;-)


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mardi 17 novembre 2015 09:39
  • Merci pour votre réponse ^^

    Il serait effectivement possible d'utiliser la classe debug ou trace, mais en mettant un TextWriterTraceListener car il s'agit d'une dll appelée depuis un projet VFP (et oui, on fait encore du foxpro ^^), et rien ne s'affiche dans la fenêtre de sortie même lorsque le débogeur est attaché !!!

    Du coup, aller relire des fichiers texte pour voir ce qui se passe, c'est quand même pas top !

    Et concernant les logs de manière générale, on les stocks en Bdd chez les clients et on remonte les erreurs critique sur une bdd azure pour les avoir en live....

    Je vais donc aller racheter du cif... Ma solution est toute propre !!!

    mardi 17 novembre 2015 10:14
  • Bizarre effectivement.

    Vous m'avez pas dit : VS 2015 ?


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mardi 17 novembre 2015 10:25
  • non, 2012
    mardi 17 novembre 2015 10:37