Целью лабораторной работы является изучить и использовать инструментарий, который применяется при отладке и развертывании мобильных приложений на Windows Mobile
В данной лабораторной работе рассказывается о различном инструментарии который применяется при разработке, отладке и развертывании Windows Mobile приложений, а так же рассматриваются файлы журналов, которые может создавать исполнительная среда Microsoft .NET Compact Framework, об их использовании для диагностики конкретных проблем, об имеющемся для этого инструментарии, включения и отключения введения журналов. Журналы обеспечивают протоколирование активности установленного приложения, чтобы персонал службы поддержки имел некое средство диагностики.
Перед тем как обсуждать приемы отладки, оптимальные подходы к обработке исключений и рекомендации по поиску и устранению типичных проблем, нужно понять, как подключить Microsoft Visual Studio к целевому устройству, которым может быть как реальное устройство, так и эмулятор.
Visual Studio 2008 предоставляет разработчикам управляемых и неуправляемых кодов единые средства разработки. Ранее разработчикам неуправляемых кодов приходилось использовать встроенную интегрированную среду разработки Microsoft Visual C++. Одним из преимуществ такой унификации является то, что удаленный инструментарий, который ранее входил в Visual C++, но отсутствовал в Visual Studio .NET 2003, теперь включен в Visual Studio начиная с версии 2005. Теперь данные инструментарий имеется и в Visual Studio 2008, и доступен обеим группам разработчиков рис 12.1. Так же следует отметить что данный инструментарий устанавливается автоматический с Visual Studio 2008.
(рис 12.1) Инструментарии удаленного доступа Visual Studio 2008Программа Remote Zoom In очень удобна для захвата растровых экранных снимков с устройства. Часто используемой программой является Remote Registry Editor. Она позволяет разработчику с удаленного компьютера получить доступ к реестру и изменить его параметры. Программа Remote
Удаленный инструментарий облегчает разработку программ на одном компьютере (настольном) и их выполнение на другом (целевом устройстве).
В рамках данной лабораторной поэкспериментируйте с подключением к устройству с установленной ОС Windows Mobile 6.0 и к эмулятору Windows Mobile 6.
Следует скачать с сайта microsoft, на момент написания лабораторной работы, установочный файл для этого набора утилит можно было скачать по следующей ссылке: http://www.microsoft.com/downloads/details.aspx?FamilyID=c8174c14-a27d-4148-bf01-86c2e0953eabdisplaylang=en
Набор утилит Power Toys 3.5 включено: Remote Performance Monitor and GC Heap Viewer, NETCF CLR Profiler, App
Remote Performance Monitor and GC Heap Viewer - предоставляет показатели производительности в реальном времени (деятельность сборщика мусора и типы загрузки данных), приложений запущенных на .NET Compact Framework. The GC Heap Viewer feature позволяет вам захватывать состояние управляемой кучи в любой момент исполнения вашего приложения для просмотра текущих ссылок, и позволяет вам сравнить множество состояний, таким образом выявить момент утечки памяти.
NETCF CLR Profiler - это инструмент подробно визуализирует сведения о распределении ресурсов, показывает стеки вызовов и помогает диагностировать трудности в управлении памятью.
Утилита App
C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\wce500\armv4i
В вашем случае вместо: диска С напишите диск с папкой Windows, wce500 - тип вашей платформы (данная папка соответствует WM 6), armv4i - тип процессора вашего процессора.
Утилита Remote Logging
Утилита NETCF Network Log Viewer предназначена просмотра содержимого из журнала работы сетевых соединений в среде .NET CF.
Так же необходимо указать, что Power Toys 3.5, имеет только английскую версию, и заработала корректно с эмуляторами Visual Studio 2008 только с английской Visual Studio 2008 SP1. Возможно, это ошибочное мнение, однако на 5 машинах устанавливалось все с нуля. И на четырех из пяти, устанавливались русские программные продукты Microsoft, на которых Power Toys 3.5 не обнаруживала эмуляторов Visual Studio 2008, а пятая английская заработала сразу.
Данные инструменты легко применимы, те трудности, которые они могут вызваны, уже описаны. Так что далее опишем журналы, которые возможно включить в Remote Logging
Если немного упростить реальность, то в каждом случае, когда управляемое приложение создает объект, использует Missing-MethodException или MissingFieldException ) или сам ТуpeLoadException ), вы сможете увидеть хронологию загрузки сборок вместе с той, которая привела к сбою, что в конечном счете и породило одно из упомянутых исключений времени выполнения. Информация о загрузке сборок включает информацию о маркерах открытых ключей, версиях и путях, по которым среда искала сборку.
Другими словами, вы можете получить богатую информацию, которой больше нигде не найти. Если вы знакомы с журналом слияний для настольного компьютера - это почти то же самое.
В качестве упражнения посмотрите сами, как выглядит журнал загрузчика. Просто запустите любое управляемое приложение на устройстве и скопируйте файл журнала для его изучения, на настольный компьютер.
Click для кнопки создайте класс из библиотеки классов.Несмотря на то что в .NET Compact Framework версии 3.5 заполнены многие пробелы версии 2.0 и 1.0, разработчикам время от времени необходимо вызывать неуправляемые Windows-методы из DLL-файлов при помощи платформенных сервисов вызова (PInvoke-сервисов). Когда возникают проблемы с PInvokc-сервисом (или при взаимодействии с СОМ), может возникать множество исключений (например, DllNotFound-Exception, EntryPointNotFoundException ), в других случаях ошибки маршалинга могут просто привести к неверным результатам. Журнал взаимодействия с платформой помогает выявлять ошибки маршалипга, так как дает список всех методов взаимодействия в управляемом варианте и его неуправляемом эквиваленте. Иногда неуправляемый эквивалент может помочь разработчикам распознать неверное объявление.
Запустите па устройстве любое управляемое приложение, которое делает PInvoke-вызовы, и скопируйте файл журнала на настольный компьютер для изучения. Приложение, написанное в лабораторной работе "Применение платформы MS Synchronization Services при создании приложений без постоянного соединения" использовало PInvokc-вызовы.
Посмотрите содержимое журнала взаимодействия сами.
Сетевые журналы собирают богатую информацию о сетевой активности. В отличие от других журналов они содержат данные не только в формате ASCII, поэтому для декодирования имеющихся в них двоичных данных нужна программа - анализатор. Такая программа для .NET Compact Framework 3.5 имеется в пакете программ .NET Compact Framework Power Toys 3.5.
Скопируйте с устройства на персональный компьютер файл, который создает платформа в результате работы программы "Применение платформы MS Synchronization Services". Просмотрите его с помощью файла из лабораторной работы применение платформы MS Synchronization Services . Вы можете открыть с ее помощью файл сетевого журнала и изучить его содержимое, то есть пакеты, которые посылаются и принимаются.
В некоторых случаях требуется отладить приложение, которое выполняется на мобильном устройстве, но не было запущено из Visual Studio. В этом случае нужно подключиться к выполняемому па устройстве процессу из Visual Studio. Это возможно, по только при явном включении соответствующего режима, например, через реестр. При подключенном устройстве используйте удаленный редактор реестра для создания под ключом HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETCompactFraiuework\ ключа с названием Managed Debugger. Под этим ключом создайте значение AttachEnabled типа DWORD и присвойте ему 1.
Затем в меню Debug в Visual Studio выберите пункт Attach To Process и в открывшемся диалоговом окне измените Transport на Smart Device, а в раскрывающемся списке Qualifier выберите ваше устройство. Далее в списке выберите ваш управляемый процесс и затем щелкните на кнопке Attach.
Как и протоколирование, этот режим отрицательно влияет на производительность всех управляемых приложений на устройстве, поэтому подключайтесь к отладчику только при отладке приложения.
Журнал ошибок можно создавать, только начиная с версии .NET Compact Framework 2.0 SP1 и в более поздних. Он был добавлен для помощи в отладке безмониторных устройств, но его, естественно, можно также использовать и для отладки устройств с дисплеями. Журнал ошибок - это просто текстовая версия этого диалогового окна "error list".
В Visual Studio 2008 вводится новый шаблон проекта специально для создания программы установки в виде САВ-файла непосредственно из интегрированной среды разработки. Раньше можно было создать CAB-файл программы установки только однажды, а затем приходилось вручную изменять INF-файл для повторной генерации САВ-файла при любых изменениях параметров. При новом подходе, этот процесс больше напоминает создание программы установки для настольного проекта.
Чтобы создать новую программу установки для мобильно устройства, в меню File выберите пункт New Project. Перейдите но цепочке Other Project Types, затем Setup And Deployment и выберите проект Smart Device CAB Project. Выбрав проект в дереве решений, можно настроить множество параметров проекта. Например, свойства Manufacturer и ProductName используются вместе в качестве имени компонента в списке Remove Programs. Поэтому рекомендуется, чтобы общая длина составной строки имени компонента не превышала примерно 36 символов, так как на большинстве устройств с портретной ориентацией строка будет обрезана. В том редком случае, когда вы хотите запретить пользователю удалять ваше приложение, можете исключить приложение из списка Remove Programs путем установки свойства NoUninstall в значение True.
Файлы устанавливаются путем вставки их в редакторе файловой системы нашего проекта программы установки. Вы можете использовать множество констант стандартных папок, которые развертывают свое содержимое в нужной локализованной папке на устройстве. Вы можете также создавать новые каталоги и подкаталоги.
Рассмотрим полученные данные на практическом примере, создания установочного cab-файла, на примере имеющегося проекта .
(рис 12.2) Окно проекта для создания CAB файлаТеперь в папке Program Files Folder создадим папку MySyncProgram и в нее следует добавить файлы, находящиеся в папке Bin\Release проекта, для которого создаем установочный файл. В папке Bin\Release, находится необходимый исполняемый файл и файл баз данных, их следует добавить в вашу папку, а dll файлы можно не добавлять. Так же общая рекомендация, если вы затрудняитесь в выборе добавляемых файлов, то выберите те файлы которые Visual Studio 2008, размещает в процессе Debug в папку приложения на эмуляторе.
После этого увидим MySyncProgram в Solution Explorer проекта развертывания. В разделе Detected Dependencies (Обнаруженные зависимости) увидим, что Visual Studio опросил MyFirstSync.exe на предмет сборок, которых он зависит - в данном случае это два dll файла ( Microsoft.Synchronization.Data.DLL и Microsoft.Synchronization.Data.SqlServerCe.DLL ). Ваше приложение будет работать, только если на устройстве установлен .net Compact Framework 3.5 и Compact SQL 3.5. Таким образом их не следует включать.
Далее следует нажать правой кнопкой мыши в области окна файловой системы и выбрать подменю ).
Ярлыки - это просто файлы, и в качестве таковых они также добавляются при помощи редактора файловой системы. Для создания ярлыка файла и проекте щелкните правой кнопкой мыши на файле и выберите команду Create Shortcut. Затем можете переименовать ярлык, чтобы присвоить ему удобочитаемое имя, и поместить его в нужную папку, например, в папку Start Menu Folder, если вы хотите, чтобы он присутствовал в подменю Programs меню Start.
(рис 12.3) Добавление специальных папок
Так же как и в проектах программ установки настольных версий Windows, в проекте развертывания на устройстве есть встроенная поддержка записи параметров реестра. Выберите редактор реестра, чтобы увидеть дерево корневых ключей. Под ними можете создавать собственные ключи. В том случае, если на устройстве их еще нет, они будут созданы. Часто эти ключи создаются не инсталлятором, а самой программой, в процессе работы пользователя с ней. Однако наша программа не столько сложна и не требует записей в реестр.
Теперь осуществим сборку ( F6 ), и необходимый вам cab файл будет расположен в папке DEBUG вашего CAB проекта.
Вы познакомились с эффективными средствами диагностики и средствами управления состояния Windows Mobile на устройстве или эмуляторе Visual Studio 2008 и узнали как избежать типичных трудностях начинающих программистов в освоении данного инструментария.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.