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 :

DEBUG: Vos conseils / Comment connaitre les appels à partir d'un breakpoint ? UI Inspector ?


Sujet :

C#

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut DEBUG: Vos conseils / Comment connaitre les appels à partir d'un breakpoint ? UI Inspector ?
    Bonjour à tous !

    Je suis sur un projet applicatif winforms avec un code extrêmement difficile à lire et mal découpé. (outsourcing...)
    Et j'ai naturellement du mal à connaitre pour chaque ecran la classe associé. Au runtime, J'aimerai typiquement lorsque je clic quelque part voir le code associé.

    Je recherche des astuces pour rapidement savoir quelle est la Class d'un UserControl/form/control au Runtime.
    Idéalement un équivalent de snoop en WPF. (Pas certain que ça existe car Winform n'est pas full .net)

    J'ai regardé Hawkeye, mais je n'arrive pas à obtenir ce que je recherche (je n’ai sans doute pas tout compris avec son utilisation avec reflector...). Il donne à peu près les mêmes infos que ce que fournit Inspect.exe / Windows Software Development Kit (SDK), c'est à dire pas grand chose.

    Je recherche aussi à afficher tous les appels au fur et à mesure de l’exécution, la stack trace à partir d'un breakpoint (afficher la trace à partir d'un point d’exécution...). L'affichage de la pile d'appels donne ce qui se passe avant ce qu'on connait, mais pas après... de ce qu'on ne connait pas. Ce qui peut m'aider à savoir quelles sont les classes en cours d’exécution. (pour ceux qui connaissent : l'équivalent d'un filemon / regmon / procmon mais pour les appels .Net...)

    Bref je recherche des astuces (simple idéalement) et outils de debug (SysInternals suite & co), pour retrouver rapidement du code d'interface graphique... ou même des astuces de debug en générale (stack trace & co), lorsqu'on est complètement perdu dans les sources.

    Dans le Prochain VS2015 je crois qu'ils ont amélioré cette partie de stack trace... mais bon pour le moment j'utilise 2012 / 2013


    Toute aide / expertise / feedback est bienvenue

  2. #2
    Membre averti Avatar de pascalCH
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Juillet 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 187
    Points : 369
    Points
    369
    Par défaut
    Citation Envoyé par alavoler Voir le message
    Je suis sur un projet applicatif winforms avec un code extrêmement difficile à lire et mal découpé. (outsourcing...)
    Et j'ai naturellement du mal à connaitre pour chaque ecran la classe associé. Au runtime, J'aimerai typiquement lorsque je clic quelque part voir le code associé.
    il y a un composant dans la palette d'outils winForms, le PropertyGrid qui permet d'afficher/modifier l'état de n'importe quel win control à l'exécution.
    Dans un cas similaire au tien, j'ai pu comprendre au moins les types de controles utilisés (je trouvais meme pas les noms des forms dans le source !!).
    j'ai fait une fenetre flottante et ajouté un tracker de message pour chopper tous les clics souris et récpérer le controle sous la souris, un peu archaique mis bon, j'ai pu comprendre l'organisation.
    La nature fait des choses extraordinaires, observons la et restons humble, on ne nous demande pas de refaire le monde mais juste de reproduire virtuellement des choses existantes ....

    et n'oubliez pas si vous aimez et quand vous avez la réponse

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Points : 552
    Points
    552
    Par défaut
    pascalCH
    merci pour ton retour d’expérience.
    Si je comprends bien: Tu as du ajouter ça dans l'application elle même ?
    C'est pas mal, je ne connaissais pas ce composant natif.

    Idéalement, je recherche ce genre d'outils, de façon externe, un peu comme snoop en wpf. tu pointes un composant et il te donne des infos sur la hiérarchie... ça te donnes le nom réels des classes .Net par introspection. Mais je crois que ça ne marche pas en winforms car c'est trop bas niveau GDI / C++...

    merci !

    http://blogs.microsoft.co.il/kmoraz/...g-net-objects/
    Visiblement ce que je veux n'existe pas... à chaque fois on perd le nom de la classe

  4. #4
    Membre averti Avatar de pascalCH
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Juillet 2006
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 187
    Points : 369
    Points
    369
    Par défaut
    as tu essayé avec (depuis le menu affichage de vs)

    - affichage de classes qui affiche une pseudo organisation des classes
    - Navigateur de l'architecture qui affiche les relations entre objets

    ça permet de découvrir la structure statique du programme
    La nature fait des choses extraordinaires, observons la et restons humble, on ne nous demande pas de refaire le monde mais juste de reproduire virtuellement des choses existantes ....

    et n'oubliez pas si vous aimez et quand vous avez la réponse

Discussions similaires

  1. Comment connaitre les pixels d'un texte
    Par Xavier dans le forum C++Builder
    Réponses: 3
    Dernier message: 07/08/2006, 20h25
  2. Comment connaitre les disques dur d'une machine dans un code ?
    Par GeekettePower dans le forum Langage
    Réponses: 3
    Dernier message: 27/06/2006, 00h43
  3. Réponses: 13
    Dernier message: 20/03/2006, 14h31
  4. Comment connaitre les noms de variables
    Par gwendy dans le forum Langage
    Réponses: 2
    Dernier message: 28/02/2006, 11h51
  5. Comment connaitre l'appelant d'une méthode
    Par Alec6 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 12/07/2004, 14h51

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