Le débogage d'applications du Windows Store sur la machine locale

Je suis en train de débogage de Windows 8 C# Magasin d'applications avec Local Machine débogueur. Donc, j'ai ajouté une mauvaise ligne de MainPage constructeur, après InitializeComponent appel. J'ai essayé le code qui provoque DivideByZero ou NullReferenceException - avec les mêmes résultats.

Donc, je exécuter "Démarrer le Débogage", et le débogueur pauses ici:

#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
        UnhandledException += (sender, e) =>
        {
            if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
        };
#endif

Les informations de la pile n'est pas disponible, il est impossible de détecter l'emplacement est une erreur (seulement pour la première exception de chance de message dans la fenêtre de Sortie donne un indice).

J'ai essayé de définir DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION dans le projet symboles de préprocesseur. Cette fois j'ai eu la suivante étrange message: "Un débogueur est attaché YourProgram.exe mais il n'est pas configuré pour déboguer cette exception non gérée".

Seulement pour certains type d'exception est vérifié dans les "Exceptions" de dialogue, et DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION est défini, j'ai réussi à faire le break sur la ligne qui a provoqué l'erreur.

Alors, quelle est la bonne façon de briser sur la ligne incriminée, comme c'est dans les applications de bureau traditionnelles de débogage? Si possible, sans modification de la liste des Exceptions. Et ce qui est exactement le but de DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION constante?

Mettre System.Diagnostics.Debugger.Launch(); juste avant que l'exception est levée. Que va lancer le débogueur de sorte que vous pouvez parcourir et de voir où est le problème.
Hughes - il modifie quelque chose dans le débogueur de comportement, mais je suis en train d'apprendre, comment déboguer une erreur de lieu inconnu. Il est impossible d'ajouter Debugger.Launch avant chaque ligne dans le programme...

OriginalL'auteur Alex F | 2013-04-17