39 votes

Bon moyen de déboguer les erreurs du concepteur Visual Studio

Quelqu'un connaît-il un bon moyen de déboguer les erreurs dans Visual Studio Designer?

Dans notre projet, nous avons des tonnes de UserControls et de nombreuses formes complexes. Pour les plus complexes, le concepteur lève souvent diverses exceptions, ce qui n'aide pas beaucoup et se demandait s'il y avait un bon moyen de comprendre ce qui n'allait pas.

Le langage est C # et nous utilisons Visual Studio 2005.

Merci, Daisuke

39voto

Craig Points 2871

J'ai pu déboguer certains problèmes du concepteur de contrôle en exécutant une deuxième instance de VS, puis à partir de votre première instance VS, effectuez un "Debug -> Attach to Process" et choisissez "devenv".

La première instance VS est l'endroit où vous définissez vos points d'arrêt. Utilisez la deuxième instance pour charger le concepteur afin d'exécuter le code "concepteur".

1voto

ljs Points 16511

J'ai eu cela se produise à plusieurs reprises et c'est une vraie douleur.

Tout d'abord, je vous suggère de tenter de suivre la trace de la pile fournis par le concepteur, mais j'ai remarqué que, souvent, énumère simplement un tas de fonctionnement interne des trucs qui n'est pas beaucoup d'utilisation.

Si cela ne fonctionne pas, alors essayez de compiler et de la détermination de l'exception à partir de là. Vous êtes vraiment à l'aveuglette, ce qui est le problème. Vous pouvez ensuite essayer simplement de l'exécution du code et de voir ce que l'exception est levée lorsque vous l'exécutez, cela devrait vous donner quelques informations supplémentaires.

Un dernier sursaut d'approche pourrait être de supprimer tous les non-code généré à partir de la forme et progressivement re-présenter pour déterminer l'erreur.

Si vous êtes à l'aide de contrôles personnalisés, vous pourriez supprimer manuellement le code généré liées aux contrôles personnalisés ainsi si la méthode précédente a toujours conduit à une erreur. Vous pouvez ensuite réintroduire cette étape-par-étape de la même manière pour déterminer qui contrôle personnalisé est à l'origine du problème, puis retourner et de débogage que séparément.

Fondamentalement, ce que je peux dire il n'y a pas de véritable moyen de contourner le problème autre que bossez un peu!

1voto

ShawnFeatherly Points 429

Découvert pourquoi parfois les points d'arrêt ne sont pas atteints. Dans la boîte de dialogue Attacher au processus, le type "Attacher à:" doit être "Sélectionner ..." 'd.

Une fois que je suis passé à "Managed 4.0, 4.5", des points d'arrêt pour une application WinRT ont été atteints. Source: http://www.codeproject.com/Tips/590634/Designer-Debugging-in-WinRT

0voto

Yaakov Ellis Points 15470

Chacun est différent et ils peuvent parfois être obscur. Comme première étape, je voudrais faire le suivant:

  • Utilisation de la source de contrôle et de sauvegarder souvent. Quand un designer d'erreur se produit, obtenir une liste de tous les changements pour les contrôles concernés qui ont eu lieu récemment et tester chaque une jusqu'à trouver le coupable
  • Soyez sûr de vérifier les routines d'initialisation des contrôles concernés. Très souvent, ces erreurs vont se produire en raison d'une erreur ou d'une mauvaise dépendance qui est appelée par le constructeur par défaut pour un contrôle (une erreur qui ne peut se manifester dans VS)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X