Ответ 1
Хорошо, когда вы запустите Visual Studio, вы должны нажать кнопку "Отладка", а затем "Параметры и параметры", а затем "Общие для отладки" и нажмите "Включить только мой код".
Я пытаюсь отлаживать приложение Windows 8 С# Store с отладчиком локальной машины. Таким образом, я добавил некорректную строку в конструктор MainPage
после вызова InitializeComponent
. Я пробовал код, который вызывает DivideByZero
или NullReferenceException
- с теми же результатами.
Итак, я запускаю "Начать отладку", и здесь отлаживается отладчик:
#if DEBUG && !DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
UnhandledException += (sender, e) =>
{
if (global::System.Diagnostics.Debugger.IsAttached) global::System.Diagnostics.Debugger.Break();
};
#endif
Информация о стеке недоступна, невозможно определить, где находится ошибка (только сообщение об исключении из первого окна в окне "Вывод" дает подсказку).
Я попытался определить DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
в символах препроцессора проекта. На этот раз я получил следующее странное сообщение: " Отладчик прикреплен к YourProgram.exe, но не настроен для отладки этого необработанного исключения".
Только в том случае, если в диалоговом окне "Исключения" указан конкретный тип исключения, и DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
определен, мне удалось сломать строку, вызвавшую ошибку.
Итак, каков правильный способ прорваться на оскорбительную строку, как это было в отладке традиционных настольных приложений? Если возможно, без изменения списка исключений. И какова цель DISABLE_XAML_GENERATED_BREAK_ON_UNHANDLED_EXCEPTION
constant?
Хорошо, когда вы запустите Visual Studio, вы должны нажать кнопку "Отладка", а затем "Параметры и параметры", а затем "Общие для отладки" и нажмите "Включить только мой код".
Он выглядит как исключение синтаксического анализа xaml. У вас есть возможность посмотреть сообщение об исключении и увидеть, где ошибка?
Вот пример скриншота: