Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой (ОС).docx
Скачиваний:
13
Добавлен:
11.06.2015
Размер:
226.75 Кб
Скачать

4.2 Отладка

И вот вы наконец добились чистой компиляции Win32- и x64-версий своего кода. Остался последний фрагмент головоломки - выполнение и отладка этого кода. Хотя вы скомпилировали свою x64-версию на компьютере с процессором x64, для отладки в режиме x64 понадобятся средства удаленной отладки, предоставляемые Visual Studio. К счастью, если вы работаете с Visual Studio IDE на 64-разрядной машине, IDE сама позаботится обо всех необходимых операциях. Если по какой-то причине вы не можете использовать удаленную отладку, остается лишь один вариант - взять x64-версию WinDbg.

Если вы никогда не пользовались удаленной отладкой, сильно волноваться не стоит. Как только вы ее настроите, она почти ничем не будет отличаться от локальной отладки.

Первый шаг - установка на целевой компьютер 64-разрядной MSVSMON. Обычно это делается с помощью программы RdbgSetup, поставляемой с Visual Studio. После запуска MSVSMON зайдите в меню Tools для настройки соответствующих параметров защиты соединения между вашей 32-разрядной Visual Studio и экземпляром MSVSMON.

Далее из Visual Studio сконфигурируйте свой проект на применение удаленной отладки x64-кода. И для начала откройте окно свойств проекта (рис. 3).

 Рис. 3.Выбор платформы сборки

Убедитесь, что текущей является ваша 64-разрядная конфигурация, и выберите Debugging в разделе Configuration Properties. Ближе к верхней части вы увидите раскрывающийся список Debugger to launch. Его изначальное значение - Local Windows Debugger. Смените его на Remote Windows Debugger. Под этим списком вы можете задать удаленную команду (например, имя программы), которая должна выполняться в момент начала отладки, а также указать имя удаленного компьютера и тип соединения.

Если вы все правильно настроили, можете начинать отладку своего x64-приложения точно так же, как и Win32-программы. О соединении с MSVSMON свидетельствует строка "connected", которая появляется в трассировочном окне этой программы при каждом успешном подключении отладчика. С этого момента большинство операций выполняется так же, как и в хорошо известном вам отладчике Visual Studio. Не забудьте открыть окно регистров, чтобы увидеть все 64-битные регистры, а также заглянуть в окно дизассемблированного кода, чтобы посмотреть на такой знакомый, но все же слегка другой ассемблерный x64-код.

Заметьте, что 64-разрядный минидамп в отличие от 32-разрядного нельзя напрямую загрузить в Visual Studio. Вместо этого нужно использовать Remote Debugging. Кроме того, в настоящий момент Visual Studio 2005 не поддерживает отладку interop-вызовов между управляемым и неуправляемым 64-разрядным кодом.

Заключение

Win API - мощный инструмент для создания приложений под операционные системы семейства Windows. С помощью этого интерфейса можно проектировать и создавать приложения как на высоком уровне, используя конструкторы диалогов и окон, так и на низком - вручную описывая все диалоги и т.п. Однако и на высоком уровне иногда приходится много работать, чтобы достичь необходимого результата. Win API имеет множество библиотек, для создания разнородных приложение, например, библиотеки opengl32.lib, glu32.lib, glut.lib и прочие позволят использовать оконное приложение, для вывода графической информации, непосредственно в окно, что является важным в современной игровой индустрии.