none
Débogage JIT RRS feed

  • Question

  • Bonjour tout le monde,

    Je cherche à savoir comment activer le débogage Just In Time dans Visual Studio 2005.

    Voici pourquoi, puis comment j'ai cherché à le faire.

    Je réutilise un projet téléchargé de lecteur RSS. Les icônes sont définies par les instructions

       this.pictureBox_icone.Image = Image.FromFile("./icons/openrss.ico");
       Icon ico = new Icon("./icons/openrss.ico");

    qui se réfèrent à des fichiers icônes qui se trouvent dans le sous-répertoire icons du répertoire où se trouve le programme.

    Sous Visual Studio tout se passe bien, mais dès que je lance le programme avec un raccourci qui pointe sur bin\debug, avec le répertoire par défaut défini sur le même répertoire, il s'obstine à chercher les icônes dans le répertoire icones. Or celui-ci n'existe pas, si déjà on s'est donné le mal de créer un répertoire icons, il n'y a pas de raison qu'on le double d'un répertoire icones.

    Je me dis qu'avec le débogage JIT je pourrais vérifier sur quelle instruction se produit l'exception.

    Dans machine.config j'ai ajouté

        <system.windows.forms jitDebugging="true"/>

    puis j'ai vérifié que dans la boîte de dialogue Outils/Options, onglet Dégogage/Juste à temps, toutes les cases sont cochées.

    Malgré ça la boîte de dialogue en mode verbose continue de me reprocher de chercher les icônes dans le répertoire icones, avec un e.

    dimanche 19 février 2012 19:29

Réponses

  • Je me rends compte que la solution trouvée en cours de rédaction donne un résultat confus.

    Je vais redire les choses plus synthétiquement. Programme téléchargé et mal installé, deux exécutables d'où confusion, raccourci créé sur un programme différent de celui en cours de développement.

    La question n'aurait pas dû être posée ici, désolé.

    • Marqué comme réponse Gloops lundi 20 février 2012 14:23
    lundi 20 février 2012 14:22

Toutes les réponses

  • Je me suis dit que ça pouvait être utile de redémarrer après avoir changé des options concernant la façon d'exécuter les programmes, alors j'ai fait ça.

    Au démarrage de session un message me signale un échec à l'initialisation du système de configuration.

    Est-ce dans le même sujet ?

    dimanche 19 février 2012 20:20
  • Bon, ça évolue.

    Au redémarrage j'ai un message d'erreur à l'exécution de MsDepSvc.exe.

    J'ai eu le numéro de processus, pas le numéro d'erreur ...

    Ensuite j'ai eu un autre message, d'où il ressort que le débogueur par défaut déclaré n'est pas disponible, donc il faudra que j'en déclare un autre. Dès que j'ai un moment je regarde comment on fait.

    Pour ce qui est de l'échec de démarrage du système de configuration, ça se confirme (le dernier événement en date est l'enregistrement de Visual Web Developper 10, avec sa réinstallation dans la foulée -coupable ?), et c'est assez gênant car j'ai plusieurs applications qui utilisent l'enregistrement de configurations, qui de ce fait ne peuvent pas fonctionner.

    Ayant eu le problème l'année dernière je me rappelle que la réinstallation de .Net résoud ça, mais que ça prend une journée, vu qu'il faut désinstaller toutes les versions une à une et les réinstaller après. Si quelqu'un connaît un moyen plus rapide de réparer le système de configuration (là où un utilisateur peut sauvegarder des paramètres de lancement d'un programme), ça m'intéresse.

    dimanche 19 février 2012 22:38
  • On parle de configuration là :

    http://msdn.microsoft.com/fr-fr/library/2bc0cxhc.aspx

    où on suggère de lancer mscorcfg.msc (qui d'ailleurs ne se trouve pas à l'endroit indiqué).

    Mais, si je confirme la lecture du titre à la vue de ce que je trouve là-dedans, il s'agit plus de la configuration de .Net, que de la configuration d'une application par la mise à disposition de paramètres prévus par le développeur.

     Donc ... J'ai trouvé quelque chose à côté de la plaque, je le mentionne juste des fois qu'un élément m'ait échappé, et que ça soit effectivement ça qu'il faille utiliser.

    dimanche 19 février 2012 23:34
  • Bonjour,

    1-Même si c'est supporté par Windows, ce n'est pas des slashs qu'il faut mettre dans les chemins, mais des anti-slash.

    2-Le répertoire courant (c'est à dire : ".\") se base sur le répertoire de démarrage de l'application. C'est pour cela que vos icônes ne sont pas chargées dans le bon répertoire. Dans le cas d'un raccourci c'est l'option "Démarrer dans" :

    Est-ce que cela répond à votre question initiale.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    lundi 20 février 2012 07:47
    Modérateur
  • Bonjour,

    Nous sommes bien d'accord pour ce qui est des barres inverses, c'est ce que j'utilise toujours, et du reste on les double sauf si la chaîne de caractères est précédée de @.

    Il s'agissait, comme je l'ai signalé, d'un projet que j'ai téléchargé, et j'ai laissé les chemins tels que je les ai trouvés. A l'instant je viens de corriger ce point, mais le chemin reste interprété différemment selon que l'application est exécutée depuis un raccourci ou depuis l'environnement de développement.

    C'est bien dans "Démarrer dans" que j'ai placé le chemin par défaut à utiliser par l'application, en l'occurrence celui du répertoire où se trouve le programme.

    ça ne donne pas la réponse à la question, mais parce que je n'ai pas donné tous les éléments, pour la simple raison que je ne les avais pas vus.

    Après téléchargement le projet a été installé de façon pas très orthodoxe, ce qui a eu pour conséquence qu'il y avait deux exécutables dans les sous-répertoires. Un des exécutables concernés avait trois fois d'affilée (au lieu de deux habituellement) le nom du programme dans son chemin, l'autre une seule. Et l'erreur était là : le raccourci ne désignait pas le même programme que celui qui était en cours de débogage. Je croyais bien avoir vérifié ce point, mais après nouveau contrôle, l'honnêteté m'oblige à dire que je l'ai mal vérifié.

    J'ai une piste pour la configuration du JIT, je ne l'ai pas encore exploitée.

    Bon, désolé de faire perdre du temps avec une question mal formulée, dont la réponse est évidente une fois le problème posé correctement.

    • Modifié Gloops lundi 20 février 2012 14:18
    lundi 20 février 2012 14:15
  • Je me rends compte que la solution trouvée en cours de rédaction donne un résultat confus.

    Je vais redire les choses plus synthétiquement. Programme téléchargé et mal installé, deux exécutables d'où confusion, raccourci créé sur un programme différent de celui en cours de développement.

    La question n'aurait pas dû être posée ici, désolé.

    • Marqué comme réponse Gloops lundi 20 février 2012 14:23
    lundi 20 février 2012 14:22