2010-07-15 3 views
0

J'ai été généralement très satisfait de MVVM Foundation Messenger, mais j'ai remarqué que lorsqu'un appel de messagerie provoque une exception, le débogueur Visual Studio ne semble jamais m'amener à la ligne de code à l'origine de l'exception (à la place, il saute à la méthode dans la classe Messenger qui a appelé l'action). Cela m'oblige à faire beaucoup de chasse pour trouver la ligne de code incriminée. (Note: Je figure cela est un effet secondaire du Messenger en utilisant des références faibles, ce qui est par ailleurs une bonne chose.)Comment rendre le débogueur Visual Studio plus utile lors de l'utilisation de MVVM Foundation Messenger?

Questions:

Y at-il quelque chose qui peut être fait pour améliorer l'expérience de débogage en utilisant le messager?

Existe-t-il un paramètre ou une commande dans Visual Studio qui me permet de passer directement à la ligne de code à l'origine de l'exception? À tout le moins, pouvez-vous suggérer des stratégies utiles pour isoler rapidement la cause de l'exception?

(Note: J'utilise Visual Studio 2008)

+0

Avez-vous regardé la fenêtre Call Stack? – Jay

+0

@Jay, oui, mais il affiche généralement seulement un tas d'éléments liés à Messenger et le gestionnaire d'événements d'origine ... pas le code qui cause réellement le problème. – devuxer

Répondre

0

Je pense que la meilleure façon de résoudre les éventuels problèmes de liaison WPF (en particulier ce qui concerne MVVM), est d'attribuer un convertisseur au composant qui est binded. De cette façon, vous savez si (et éventuellement quand) la liaison a lieu. Bien sûr, cette méthode pourrait être efficace en utilisant le messager.

Un lien rapide pour l'utilisation du convertisseur: http://www.codeproject.com/KB/WPF/debugwpfdatabinding.aspx

Questions connexes