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