WDBG: что делать дальше?
После установки отладчик WDBG работает так, как было задумано. Однако его можно улучшить по многим направлениям. Ниже перечислены некоторые идеи усовершенствования WDBG. Если вы займетесь расширением WDBG, сообщите мне об этом. Кроме того, как уже говорилось в главе!, замечательной иллюстрацией профессиональных способностей программиста являются примеры собственного кода (весьма полезные, скажем, и для рабочих интервью). Если вы добавляете какое-нибудь существенное свойство к WDBG, то нужно показать это!
- Можно заняться интерфейсом пользователя (UI) WDBG-отладчика. Первое усовершенствование, которое можно осуществить — улучшить реализацию этого интерфейса. Интерфейс уже содержит всю необходимую информацию; вы должны только спроектировать лучшие способы ее представления.
- Сам WDBG поддерживает только простые, позиционные точки прерывания (location breakpoints). С помощью BREAKPOINT.H и BREAKPOINT.CPP можно добавить интересные дополнительные виды точек прерывания, такие как точки прерывания со счетчиком пропусков (skip count breakpoints) или точки прерывания выражений (expression breakpoints), для которых прерывание происходит, только если помеченное ими выражение истинно. Удостоверьтесь, что вы получаете новые точки прерывания с помощью функции CLocationBp (благодаря которой вы получаете се-\риализованный код и не должны ничего изменять в WDBG).
- Вы должны быть способны без больших усилий расширить WDBG, чтобы поддержать отладку множественных процессов (multiple process debug->ging). Большинство интерфейсов построены для работы по схеме идентификации процесса, так что нужно только проследить, с каким процессом вы работаете во время уведомления об отладке.
- Интерфейс WDBG построен так, чтобы позволить быстро перейти к удаленной отладке и различным CPU, оставив работу главной части интерфейса примерно такой же. Напишите динамические библиотеки удаленной отладки и расширьте WDBG так, чтобы позволить пользователю выбирать, где выполнять отладку: на местной или на удаленной машине.
- Наконец, чтобы сделать WDBG-отладчик действительно полезным, вы всегда можете написать лучший дизассемблер и символьную машину для отладочных символов формата С7!