Одним из дополнительных преимуществ взлома нашего гаджета Vista и моей электронной почты, заваленной жалобами, было то, что я научился отлаживать гаджет Vista в Visual Studio, поэтому делюсь этим богатством со всеми.
Для этого упражнения вам понадобится копия Visual Studio 2005 и сломанный гаджет Vista, но вы, вероятно, сможете адаптировать его для работы с другим инструментом, если попытаетесь.
Критический шаг: включить отладку сценария
Откройте панель «Параметры» Internet Explorer, найдите вкладку «Дополнительно» и снимите флажок «Отключить отладку скриптов».
После того, как вы закончите отладку, вы, вероятно, захотите отключить это, так как это может сильно раздражать во время просмотра.
Откройте код вашего гаджета
После установки вашего гаджета Windows распакует и скопирует файлы в папку в вашем профиле пользователя. Нам нужно будет найти эту папку и открыть файл javascript, который составляет логику вашего гаджета.
Просто вставьте в адресную строку проводника следующее:
% LOCALAPPDATA% \ Microsoft \ Боковая панель Windows \ Гаджеты
Вы увидите список каталогов для всех гаджетов, установленных в вашем профиле. Откройте основной файл javascript в Visual Studio.
Присоединить к процессу боковой панели
Затем нам нужно будет привязать к конкретному процессу боковой панели для вашего гаджета. (Перед выполнением этого шага убедитесь, что ваш гаджет работает)
Перейдите в Инструменты \ Присоединить к процессу или нажмите Ctrl + Alt + P, чтобы открыть диалоговое окно.
Теперь вам нужно найти процесс с именем «sidebar.exe» с заголовком, соответствующим имени вашего гаджета, а затем нажать кнопку «Присоединить».
При просмотре крупным планом вы можете увидеть, что гаджет работает в рамках отдельного процесса из основной боковой панели, но для заголовка установлено значение «How-To Geek».
Теперь наступает критический шаг ... щелкните, чтобы установить точку останова слева от белой области ...
Если все пойдет хорошо, вы сразу попадете в новый файл с именем, например x-gadget: ///main.js, и ваши инструменты отладки станут активными, как только будет достигнута точка останова.
Обратите внимание, что вы не можете изменить этот файл, но вы можете использовать Immediate Window для тестирования любого кода в реальном времени.
Важные заметки
- При отладке гаджета, который периодически опрашивает, было бы разумно установить очень низкий интервал, чтобы вам не приходилось очень долго ждать его срабатывания.
- Вы можете внести изменения в исходный исходный файл, но вам придется закрыть / снова открыть гаджет, а затем повторно прикрепить к нему.
- Если вы получаете сообщение об отсутствии загрузки символов, значит, вы не выполнили первый шаг по включению отладки скрипта.
- Вам придется вручную вводить имена переменных, которые нужно отслеживать, в поле Watch, но вы можете перемещаться по гаджету, как и настоящий отладчик.
Удачной отладки!