Статьи

Советы и рекомендации для C # Windows Phone 8 Developer

Как опытный разработчик, у вас нет ошибки. Никогда. По крайней мере, на вашем компьютере. И когда иногда (так редко, что вы едва помните) появляется ошибка, она никогда не появляется на вашем компьютере.

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

Первое решение может состоять в том, чтобы снять с себя ответственность: «Это работает для меня, у вас должны быть проблемы с вашими водителями».

Но вы также можете попытаться найти его J

В этой статье представлены некоторые советы по поиску информации об ошибке на компьютере, не являющемся разработчиком.

Использование Visual Studio 2012

Хорошо, это необычно, но если ваш клиент владеет Visual Studio, вы можете использовать мощное меню « Debug Installed App Package »:

образ

Очевидно, что если пакет приложения не содержит символов, вы можете получить не очень интересную информацию:

образ

Чтобы действительно отладить приложение, вам нужно иметь доступ к исходному коду, и вы должны включить PDB (файл базы данных программы, который содержит символы) при создании пакета приложения:

образ

 

Но, как вы должны знать, это довольно редко, когда клиент уже имеет Visual Studio 2012 и ваш исходный код на своем компьютере Sourire

DebugView

DebugView является участником превосходного набора инструментов под названием « Sysinternals Suite », разработанного Марком Руссиновичем:

http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx

Этот инструмент позволяет вам захватывать сообщения отладки, отправленные приложениями, поэтому вам не нужен отладчик для отладки вывода отладки, создаваемого вашими приложениями.

Очевидно, что обязательным условием является то, что ваши приложения генерируют выходные данные отладки Sourire( System.Diagnostics.Debug.Write ).

Например, WorldMonger (игра, которую я разрабатываю с друзьями) имеет следующие строки кода:

System.Diagnostics.Debug.WriteLine("Starting WorldMonger");
System.Diagnostics.Debug.WriteLine("Launching Babylon engine");

И когда я запускаю DebugView (используя права администратора) на любом компьютере, на котором работает WorldMonger, я получаю следующее окно:

образ

ProcessMonitor

ProcessMonitor — еще один действительно полезный инструмент « SysInternals Suite ». Он позволяет вам отслеживать ваши процессы в режиме реального времени и может дать вам массу полезной информации, чтобы помочь вам в отладке ваших приложений.

Устанавливая виртуальный драйвер поверх системы, ProcessMonitor может отслеживать:

  • Доступ к реестру
  • Доступ к файлам
  • Доступ к сети
  • Процесс и активность потока (доступ к Windows API)

Вам просто нужно установить фильтр внутри ProcessMonitor для отслеживания только вашего собственного приложения. Например, я добавил следующий фильтр, чтобы увидеть, что происходит с моей игрой:

образ

Затем я должен запустить игру и дождаться ошибки (в этом случае моя музыка не воспроизводится). Внутри ProcessMonitor я вижу, что файл, который я хотел воспроизвести, не найден:

образ

Вы можете увидеть [ИМЯ НЕ НАЙДЕНО], указывающее, что файл не может быть найден (опечатка в имени).

Таким образом, используя ProcessMonitor, вы можете отслеживать активность вашего приложения и использовать его для проверки каждого взаимодействия между вашим приложением и операционной системой.

Просмотр событий

Наконец, вы можете найти полезную информацию в журнале событий, посвященном приложениям Windows 8 Metro. Журнал может быть расположен прямо здесь:

\ Журналы приложений и служб \ Microsoft \ Windows \ Apps \ Microsoft-Windows-TWinUI / Operationnal

образ