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 :

Remonter les appels en mode DEBUG


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 254
    Par défaut Remonter les appels en mode DEBUG
    Bonjour,
    Lorsque j'arrive au point d'arret en Débug, j'aimerais savoir quelle fonction utiliser pour savoir quelle methode appelle celle dans laquelle je suis, et ainsi de suite....
    Si quelqu'un peut m'aider...
    Merci bp
    Cédric

  2. #2
    Membre confirmé Avatar de Vonziz
    Inscrit en
    Décembre 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 215
    Par défaut
    Tu peux situer un peu plus le contexte de ta question car si on interprète au premier degré ta question, on se dit que pour trouver l'appelant de l'endroit de ton point d'arrêt, il suffit juste de mettre un point d'arrêt en amont de ton code (genre au début de ton programme)...

  3. #3
    Membre confirmé Avatar de Vonziz
    Inscrit en
    Décembre 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 215
    Par défaut
    J'ai peut être une réponse à ton besoin : lorsque tu es en debug, tu as un onglet nommé "Call stack" qui représente l'empilage des données dans ta pile durant l'exécution de ton programme.

    Parmi ces données, tu as notamment l'appel aux fonctions qui s'empilent.

    Par exemple, si tu es dans une fonction testDeleteBiblio appelée depuis un Main, tu auras la trace de pile suivante :

    ConsoleApplication1.exe!ConsoleApplication1.Program.testDeleteBiblio() Line 28 C#
    ConsoleApplication1.exe!ConsoleApplication1.Program.Main(string[] args = {Dimensions:[0]}) Line 20 C#

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 254
    Par défaut
    Merci pour ta réponse
    C'est à peu pres ca mais il me manque des "appels". En fait, je demande ça car on ne sait pas forcément facilement d'où est appelée une méthode.
    J'ai fait le test suivant :
    J'ai une Form1 avec un Bouton. Quand je clique dessus ca m'ouvre une Form2. Celle ci contient un bouton qui appelle une méthode Test (de Form2). J'ai mis le point d'arret dans Test et voici ce que m'indique la "pile des appels" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	WindowsFormsApplication1.exe!WindowsFormsApplication1.Form2.test() Ligne 24	C#
     	WindowsFormsApplication1.exe!WindowsFormsApplication1.Form2.button1_Click(object sender = {Text = "button1"}, System.EventArgs e = {X = 46 Y = 13 Button = Left}) Ligne 21 + 0x7 octets	C#
     	[Code externe]	
     	WindowsFormsApplication1.exe!WindowsFormsApplication1.Program.Main() Ligne 18 + 0x1a octets	C#
     	[Code externe]
    Je ne vois pas indiqué que Form2 est appelée par le clique sur le bouton1 de Form1....

    Mais dans l'idée c'est bien ça que je veux
    Cedric

  5. #5
    Membre confirmé Avatar de Vonziz
    Inscrit en
    Décembre 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 215
    Par défaut
    De quelle manière ouvre-tu ton nouveau formulaire?

    Donne le code de ton event! Et je te dirais ton avenir... lol

    Cela m'a tout l'air d'un appel javascript, d'où la présence d'un [code externe] non géré par Visual Studio pour le tracage de la pile.

    VS doit uniquement gérer les traces de la piles estampillés Composant .NET, un appel javascript ne doit pas en faire partie...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 254
    Par défaut
    j'ai fait au plus simple :
    j'ai créé un nouveau projet, il y a donc Form1 par défaut, sur cette Form1 j'ai ajouté un Bouton1
    j'ai donc :
    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
     
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                Form2 oForm2 = new Form2();
                oForm2.Show();
            }
        }
    }
    J'ai ajouté un Formulaire Form2, dans lequel j'ai placé un Bouton1, qui appelle la méthode Test, j'ai donc :
    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
     
    namespace WindowsFormsApplication1
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                this.test();
            }
            private void test()
            {
            }
        }
    }

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/11/2008, 09h05
  2. Comment afficher les infos en mode debug ?
    Par jppaysan dans le forum Qt
    Réponses: 4
    Dernier message: 28/05/2008, 00h24
  3. Mode debug : afficher les valeurs d'une variable
    Par zenux dans le forum Code::Blocks
    Réponses: 0
    Dernier message: 05/04/2008, 12h44
  4. en mode debug les int apparaissent en hexadecimal.
    Par maa dans le forum Visual Studio
    Réponses: 2
    Dernier message: 07/07/2007, 14h28
  5. Réponses: 3
    Dernier message: 20/10/2006, 17h43

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