11

Я пытаюсь отладить приложение Windows 8 C# Store с отладчиком локальной машины. Итак, я добавил некорректную строку в конструктор MainPage, после вызова InitializeComponent. Я попробовал код, который вызывает DivideByZero или NullReferenceException - с теми же результатами.Отладка приложения Windows Store на локальном компьютере

Итак, я исполню «Начать отладку», и отладчик остановится здесь:

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

Stack информация не доступна, то невозможно определить, где ошибка (только первый шанс сообщение исключение в выходной окно дает подсказку).

Я попытался определить DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION в символах препроцессора проекта. На этот раз я получил следующее странное сообщение: «Отладчик прикреплен к YourProgram.exe, но не настроен для отладки этого необработанного исключения».

Только в том случае, если в диалоговом окне «Исключения» отмечен особый тип исключения, а DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION определен, мне удалось сломать строку, вызвавшую ошибку.

Итак, каков правильный способ взломать нарушающую линию, как это было при отладке традиционных настольных приложений? Если возможно, без изменения списка исключений. И что такое цель DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION константа?

+0

Поместите 'System.Diagnostics.Debugger.Launch();' перед тем, как будет выброшено исключение. Это запустит отладчик, чтобы вы могли пройти и посмотреть, где проблема. –

+6

@Jack Hughes - это что-то меняет в поведении отладчика, но я пытаюсь узнать, как отлаживать ошибку в неизвестном месте. Невозможно добавить 'Debugger.Launch' перед каждой строкой в ​​программе ... –

ответ

10

Это похоже на исключение синтаксического анализа xaml. Можете ли вы просмотреть сообщение об исключении и посмотреть, где ошибка?

Вот некоторые скриншот пример:

enter image description here

+0

Пропущено это. Благодаря! –

14

Ну при запуске Visual Studio необходимо нажать на отладку и затем Параметры и настройки, а затем General отладкой и нажмите на Enable Just My Code.

+0

Правильный ответ. –

+0

Это абсолютно правильный андер и должен быть принят соответствующим образом. – NoHarmDan

+1

Это не решило мою проблему, я проверил «Включить только мой код», но не помог. –

Смежные вопросы