Блог Сергея Байдачного

Мой блог о технологиях

Archive for Февраль 16th, 2010

Отладка Silverlight в Visual Studio

5 комментариев

Использование Visual Studio начало притуплять мою сообразительность. Как ни странно, но настройки по умолчанию обычно полностью подходят для реализации задуманного. Правда, когда начиинаешь писать что-то сложное, то тут же натыкаешься на грабли. К примеру, последнее приложение, которое я разрабатывал, представляло собой шаблон для SharePoint 2010, который включал компоненты и на SilverLight. И вот мне понадобилось отладить Silverlight-приложение в контексте SharePoint. И это в то время, когда редактор был настроен на отладку кода под SharePoint, но никак не Silverlight. Немного потупил, а потом решил написать следующий пост:)

Итак,

Visual Studio 2010 позволяет отлаживать Silverlight-приложения подобно другим типам приложений. Если Вы планируете приступить к отладке Silverlight-приложения, то достаточно запустить его с помощью команды Debug->Start Debugging (F5). Расставляя в желаемых местах точки останова, Вы сможете наблюдать за ходом выполнения приложения, имея доступ ко всем известным окнам: Autos, Locals, Watch.

Однако, отладка Silverlight-приложения, может потребовать отлаживать и JavaScript. Visual Studio позволяет отлаживать JavaScript без всяких проблем. Но, если Вы поставите точку останова в JavaScript во время отладки, то ничего не произойдет. Это связано с тем, что Visual Studio не позволяет отлаживать сразу два типа приложений (Silverlight и JavaScript). А Silverlight-проект настроен таким образом, что включает отладку для Silverlight по умолчанию.

Чтобы включить отладку JavaScript в Вашем приложении, в Visual Studio доступно два способа.

Способ 1. Для включения отладки JavaScript (на самом деле выключения отладки Silverlight) достаточно просто открыть свойства проекта, где на вкладке Web, снять флаг Silverlight (раздел Debuggers). Это простое действие позволит отлаживать JavaScript, но точки останова для Silverlight работать перестанут. Описанное выше действие нужно сделать для Web-приложения, которое содержит встраиваемый Silverlight-компонент.

image

@1 Установка отладчика по умолчанию

Способ 2. Выбрать тип приложения, которое Вы планируете отлаживать, можно при подключении к процессу. Для этого запустите Silverlight-приложение НЕ в режиме отладки, а обычным способом (Start Without Debugging (Ctrl+F5)). Когда приложение откроется в браузере, выполните команду Debug->Attach to Process

image

@2 Выбор процесса

В появившемся окне достаточно легко найти экземпляр Вашего браузера, выполняющего Silverlight-приложение. Нужный Вам процесс содержит значения Script и Silverlight в колонке Type. Чтобы переключатся между этими двумя типами приложения, нажмите кнопку Select. В появившемся окне выберите нужный тип.

image

@3 Выбор типа отлаживаемого приложения

Описанные способы можно применять не только при создании простых Web-приложений, но и при создании сложных проектов на базе SharePoint 2010 или другой платформы, когда ошибку может вызывать не только Silverlight-приложение, но и механизмы интеграции с хостом.

Реклама

Written by Sergiy Baydachnyy

16.02.2010 at 11:14

Опубликовано в SharePoint, SilverLight

Tagged with