Отладка приложений

       

Освоение набора навыков


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

Помимо чтения книг и журналов по отладке, полезно также писать утилиты (любого вида). Лучший способ обучения — практическая работа. В данном случае это означает необходимость выполнять кодирование и отладку. Это позволит не только усовершенствовать мастерство кодирования и отладки, но, если рассматривать эти утилиты как реальные проекты (т. е. завершая их вовремя и с высоким качеством), научиться лучше планировать проект и оценивать график работ.

Стимулом для разработки собственных утилит может служить то, что законченные утилиты являются превосходным средством демонстрации ваших профессиональных способностей в области разработки программного обеспечения, вполне заменяя так называемые "рабочие интервью" (деловые собеседования при приеме на работу). Немногие разработчики демонстрируют свои программы на подобных интервью, однако компании предпочитают преуспевающих в этом искусстве тем, которые не имеют таких навыков. Представление портфеля работ, сделанных в свободное время, показывает, что вы можете выполнять такую работу по-своему и имеете пристрастие к разработке программного обеспечения — и это сразу поместит вас в верхнюю часть списка соискателей.

Другая практика, чрезвычайно полезная при более глубоком изучении языков, технологий и операционной системы, состоит в просмотре исходных текстов программ других разработчиков. Такие тексты без труда можно найти в Интернете. Выполняя различные программы под отладчиком, вы увидите, как другие специалисты работают над ошибками. Кроме того, если вам не придумать свою утилиту, можно просто добавить свойство к. одной из найденных утилит.

Еще один способ, который я рекомендовал бы для более глубокого изучения технологий, операционной системы и CPU, состоит в выполнении обратной разработки (reverse engineering).
Это поможет активно изучать язык ассемблера и продвинутые особенности отладчика. Полученных из главы 6 знаний о языке ассемблера должно быть достаточно, чтобы начать работу. Я не рекомендовал бы начинать полную обратную разработку с загрузчика операционной системы, — лучше заняться более простыми задачами. Для меня очень полезной оказалась работа с реализацией функции CoCreateinstanceEx.

Чтение книг и журналов, написание утилит, обзор кодов других инженеров и выполнение обратной разработки — все это отличные способы улучшить навыки отладки. Еще один огромный ресурс — друзья и коллеги по работе. Не бойтесь спрашивать их, как они что-то сделали или как что-то работает, и они, если не находятся в цейтноте, будут рады помочь вам. Я уже говорил, что люблю, когда мне задают вопросы, потому что узнаю при этом больше, чем тот, кто эти вопросы задает! Кроме того, я постоянно читаю группы новостей по программированию, это отличное место для выяснения вопросов — можно получить очень хороший ответ, особенно от тех людей, которых в фирме Microsoft обозначили как MVPS (Most Valuable Professionals — наиболее ценные профессионалы).

В модели DCOM одна из функций, предназначенных для создания удаленного объекта. — Ред.



Содержание раздела