| 
 Приложение А ОТЛАДКА
 
 Если у вас возникнет
    необходимость в отладке фрагмента программы,
    блокирующего буфер визуализации (или в ситуации,
    когда буфер уже заблокирован функцией GetDC),
    придется воспользоваться отладчиком, который не
    пользуется тем же экраном, что и ваша программа. В
    данном приложении содержатся некоторые
    рекомендации по работе с отладчиком Microsoft Visual C++
    в удаленном режим, а также сведения об отладчике
    ядра Microsoft Windows (Wdeb386), входящего в состав Win32 SDK.
    Разумеется, существует много других отладчиков,
    которыми вы также можете пользоваться, однако
    при подготовке программ для этой книги я
    остановил свой выбор на двух выше упомянутых.
     Удаленная отладка в Visual C++
     Приведенные ниже
    инструкции предполагают, что вы установили Microsoft
    Windows 95 на обоих компьютерах - на рабочем (ведущем)
    и на тестовом (ведомом). Кроме того, вы должны
    установить Visual C++ на ведущем компьютере,
    соединить ПК посредством локальной сети и
    установить стек протокола TCP/IP. Условные имена
    ведущий и ведомый следует заменить именами ваших
    компьютеров.  1. На ведомом компьютере
    создайте каталог TEST и задайте его совместное
    использование с именем TEST и полным доступом без
    пароля.  2. Скопируйте
    перечисленные ниже файлы из соответствующего
    каталога ведущего компьютера (Msdev\bin или WindowsVSystem)
    в \\TARGET\TEST (здесь и в дальнейшем TARGET заменяется
    именем ведомого компьютера):  Msvcmon.exe, Msvcrt40.dll, TInOt.dll, DmnO.dll.
    Эти файлы необходимы для проведения сеансов
    отладки на ведомом компьютере.  3. Скопируйте ЕХЕ-файл
    отлаживаемой программы и все необходимые
    DLL-библиотеки в \\TARGET\TEST.  4. Запустите на ведущем
    компьютере Visual C++ и выполните команду Tools Ѓ Remote
    Connection. В окне диалога Remote Connection выберите строку
    Network (TCP/IP) и нажмите кнопку Settings.  5. В окне диалога Win 32 Network
    (TCP/IP) Settings укажите имя ведомого компьютера или
    его IP-адрес (например, 199.99.99.9) и введите пароль
    (например, DEBUG). Вы обязаны заполнить поле с
    паролем. Нажмите кнопку ОК во всех окнах диалога.
     6. На ведомом компьютере
    запустите программу Msvcmon.exe, выберите из списка
    строку Network (TCP/IP) и нажмите кнопку Settings.  7. В окне диалога Win 32 Network
    (TCP/IP) Settings введите имя ведомого компьютера и
    пароль, заданный на шаге 5.  8. Нажмите кнопку Connect,
    чтобы начать сеанс отладки на ведомом
    компьютере. До установления связи с ведущим
    компьютером открывается окно диалога Connecting.  9. На ведущем компьютере
    выполните команду Build Ѓ Settings в среде Visual C++. В окне
    диалога Project Settings выберите вкладку Debug. В полях
     ж^  VnanouLJaa /wn-ani/o D \/ienal f^^-J.
    'ЧГЙЙ 40'У  
 Remote Executable Path и File Name
    введите путь к исполняемому файлу,
    скопированному на ведомый компьютер на шаге 3
    (например, \TEST\D3DEval.exe). Нажмите кнопку ОК.  10. Нажмите кнопку Go в Visual C++,
    чтобы начать сеанс отладки. Вероятно, на экране
    появится окно диалога Find Local Module, в котором
    следует указать местонахождение локальных
    DLL-библиотек. Введите путь к каждой из них или
    снимите флажок, который предлагает вам
    продолжить поиски.  На ведомом компьютере
    должно запуститься ваше приложение. Ведущий
    компьютер будет использоваться для отладки.
    После завершения работы выйдите из приложения и
    нажмите кнопку Disconnect в окне диалога Connecting на
    ведомом компьютере. Не забудьте выбрать в списке
    Remote Connection на ведущем компьютере строку Local.  В случае, если вам не
    приходилось ранее пользоваться отладчиком Visual
    C++, подробное описание его работы можно найти в
    документации.  Отладка с использованием Wdeb386
     Если вы хотите получить
    полный контроль над процессом отладки, вам
    придется воспользоваться отладчиком Wdeb386. Он
    позволяет отлаживать любые программы для Windows 95 -
    приложения, DLL-библиотеки, драйверы устройств, VxD
    и т. д. Отладчик входит в состав Win32 SDK, который
    включен в Microsoft Developer Network (II уровень).  Ниже приведены краткие
    инструкции по запуску Wdeb386. Более подробное
    описание и перечень команд Wdeb386 можно найти в
    документации по Win32 SDK.  1. Воспользуйтесь
    терминалом стандарта RS232 или другим компьютером.
    Настройте терминал на скорость передачи данных
    9600 или 19200 бод. Обычно я задаю для своего
    терминала 8-битные данные, отсутствие контроля
    четности и 1 стоп-бит.  2. Подключите терминал к
    одному из СОМ-портов основного компьютера через
    нуль-модемный кабель (подробное описание
    кабельного соединения имеется в
    сопроводительной документации по установке
    Wdeb386).  3. Запустите на основном
    компьютере терминальное приложение (например,
    HyperTerminal) и убедитесь в правильности пересылки
    текста на терминал. Наберите на терминале
    какой-нибудь текст и проверьте, верно ли он
    передан на основной компьютер. Это позволит быть
    уверенным в правильности аппаратных настроек.
     4. На основном компьютере
    скопируйте все DLL-библиотеки и символьные файлы
    из каталога Mstools\debug в Windows\System. Вероятно, для этого
    вам придется загрузиться в режиме командной
    строки, поскольку иначе не удастся заместить
    используемые файлы (такие, как Gdi32.dll). Чтобы
    загрузить компьютер в режиме командной строки,
    нажмите клавишу F8 при появлении сообщения Starting
    Windows во время загрузки и выберите из меню команду
    Command Prompt Only или выполните команду Shut Down из меню Start
    Windows 95 и выберите Restart The Computer in MS-DOS Mode.  5. Чтобы запустить сеанс
    отладки, загрузитесь в режиме командной строки и
    запустите Wdeb386.ехе. Типичная команда для его
    загрузки выглядит следующим образом: wdeb386.exe/c:1
    /r:9600/s:myfite.sym/s:gdi.sym\windows\win.com.  328 НУ Приложение А.
    Отладка  
 После запуска отладчика
    загружается Windows, и вы можете тестировать свое
    приложение. Чтобы перейти в отладчик, нажмите Ctrl+C
    на терминале или Ctrl+Alt+SysRq на основном компьютере.
    Если на вашем ПК имеется переключатель NMI
    (немаскируемого прерывания), он также может
    использоваться для выхода в отладчик. После
    этого ваш основной компьютер блокируется до
    выполнения очередной команды отладчика. Если вы
    не знаете, что делать дальше, попробуйте команду
    д - сокращение от go.  Команды для загрузки
    многочисленных символьных файлов удобно собрать
    в одном текстовом файле:  /s DDRAW16.SYM /s D3DRAMPF.SYM /s D3DRGBF.SYM /s
    KRNL386.SYM /S D3DRM8F.SYM /s GDI.SYM /s D3DRM16F.SYM /s D3DRG8F.SYM /s D3DRG16F.SYM /s
    D3DHALF.SYM  Сохраните этот список в
    файле, например Debug, inf. Затем можно создать
    простой пакетный файл для запуска сеанса отладки
    или ввести следующую командную строку:  wdeb386.exe c:l /r:9600
    /f:debug.inf \windows\win.corn /  Подробные инструкции по
    работе с отладчиком приведены в руководстве
    пользователя Wdeb386, входящем в Win32 SDK. Далее... |