Операционная система Microsoft Windows 3.1 для программиста -том 1


Отладка приложений Windows - часть 3


Так как структура стандартного приложения Windows отличается от линейной структуры программы MS-DOS, для отладки функций обратного вызова вам надо установить в них точки останова. В противном случае вы никогда не сможете отладить такие функции - при пошаговом выполнении приложения вы окажетесь в цикле обработки сообщений. Добраться до функций обратного вызова через пошаговое выполнение приложения невозможно, так как эти функции вызываются не из приложения, а из операционной системы Windows.

Если функция окна расположена в отдельном файле, для установки точки останова вам надо перейти в режим просмотра этого файла. Для просмотра модуля, расположенного в отдельном файле, выберите из меню отладчика "View" строку "Module". Вы окажитесь в диалоговой панели, с помощью которой можно выбрать имя модуля. Приложения, приведенные в нашей книге, используют для функции окна файл с именем wndproc.cpp, поэтому в появившейся диалоговой панели выберите строку "WNDPROC".

После этого в окне отладчика вы увидите исходный текст функции окна. Выберите нужное вам место и установите точку останова, нажав клавишу <F2>. Далее запустите приложение на выполнение, нажав клавишу <F9>. Когда будет достигнута установленная вами точка останова, отладчик переключится в пошаговый режим.

Второе замечание относится к просмотру экрана выполняющегося приложения.

Для переключения в режим просмотра экрана приложения и обратно используйте комбинацию клавиш <Alt+F5>. При переключении в верхней части экрана авторы практически всегда наблюдали "мусор". Это не есть результат неправильной работы вашего приложения, поэтому, если можете, не обращайте на него никакого внимания. Возможно, в следующих версиях одноэкранного отладчика Borland сумеет сделать правильное восстановление экрана Windows. Если же подобная "особенность" отладчика вам кажется недопустимой, единственный выход - отладка с помощью двух адаптеров или, что лучше, с помощью двух компьютеров.


Начало  Назад  Вперед



Книжный магазин