README.TXT SoftICE 4.01 Release Notes СОДЕРЖАНИЕ ФАЙЛА Что нового в SoftICE версии 4.01 (по сравнению с v.4.0). Что нового в SoftICE версии 4.0 (по сравнению с v.3.24). Отслеживание
событий для отладчика BoundsChecker (команда EVENT). Поддержка Windows 2000 (NT 5.0) Beta 3. Удаленная работа с SoftICE через сетевое соединение по IP протоколу. Поддержка системы команд процессора Pentium III. Поддержка FPO и усовершенствованная команда STACK. Окно стека (команда WS). Новые информационные команды. Исправлены многочисленные ошибки.
Менее значительные дополнения, особенности и исправления ошибок в версии 4.0. Известные проблемы в версии 4.0. Изменения системы команд в версии 4.0. Настройка удаленной отладки. Требования к системе. Установка. Советы по решению проблем с видеосистемами для SoftICE. Краткая инструкция по началу отладки. Использование SoftICE в системе под управлением Windows 2000. Использование нескольких мониторов в системе про управлением Windows 98 и Windows NT 5.0. Отладка видеодрайверов под управлением Windows 98. Использование SoftICE совместно с Visual C +версий 5.0 и 6.0. + Использование SoftICE совместно с Borland C +Builder. + Известные проблемы. Советы по решению проблем. Известные проблемы, связанные с Watcom C + +. Проблема зависания системы Windows 95 OSR2, связанная с картой 3Com Ethernet. Сообщение о проблемах в работе и предложений по программе.
ReadMe.txt файл к SoftICE версии 4. Что нового в SoftICE версии 4.01 (по сравнению с v.4.0) Поддержка клавиатуры для Windows 2000 выпуск 2072. Небольшие изменения в командах DRIVER и DEVICE в SoftICE под управлением Win dows 98. Небольшие изменения в команде MOD для японской версии Windows 98.
Что нового в SoftICE версии 4.0 (по сравнению с v.3.24) Слежение за обменом сообщениями между драйверами и операционной системой с помощью программы BoundsChecker (команда EVENT). Более подробная информа ция по отслеживанию этих событий приведена в главе "Использование BoundsChecker Driver Edition" в "Руководстве пользователя". Поддержка Windows 2000 (NT 5.0) выпусков 1946, 2000, 2021 и 2031. Смотрите раздел "Использование SoftICE с Windows 2000". SoftICE теперь может устанавливать связь с удаленным клиентом с помощью IP протокола, что позволяет производить удаленную отладку через сетевое соедине ние с использованием NE2000 или 3Com совместимых сетевых карт. Для этого в со став команд SoftICE введена команда NET. Поддержка набора инструкций процессора Intel Pentium III, включая их диз ассемблирование и ассемблирование. Содержимое регистров процессора Pentium III можно посмотреть с помощью команды СWXТ. Поддержка FPO данных, и усовершенствованная команда стека. SoftICE теперь по зволяет обращаться к локальным данным при отсутствии указателя кадра стека (Frame Pointer Omission - FPO). Для этого Вам необходимо перетранслировать файл с отладочной информацией утилитой loader32 или nmsym. Старые.NMS файлы также могут быть использованы с новой версией SoftICE, однако, они не содержат поддержки FPO. Мы настоятельно рекомендуем, если это возможно, перетрансли ровать Ваши файлы. Включение данных FPO позволит просматривать передачу дан ных через стек без указателей кадра стека. Изменена выдача информации о вызовах функций и передаче параметров через стек. Параметр С vТ позволяет получить общую информацию, а С rТ дополнительно по казывает переходы из одного кольца защиты в другой. Изменено и расположение информации в окне: сначала показывается указатель кадра стека и адрес возврата, затем символическое имя и смещение. Текущий кадр показывается в самом верху дампа стека. И, наконец, команда СSTACKТ может использовать FPO данные для про смотра стека при отсутствии указателя кадра. В 4.0 версию SoftICE добавлено Окно стека. Включение/выключение и изменение размеров окна производится с помощью команды WS. При выборе интересующего фрагмента в окне стека с помощью мыши или клавиатуры происходит изменение об К сожалению, в версии 4.01 окно стека снова исключено (Здесь и далее примечания пере водчика).
ReadMe.txt файл к SoftICE версии 4. ласти видимости в окнах кода и локальных переменных. Переход в окно стека про изводится мышью или комбинаций клавиш ALT S, а перемещение в окне - стрелка ми "вверх вниз" с клавиатуры или мышью. Многомониторные системы на Windows 2000. Если Windows 2000 правильно распо знает видеокарту, то SoftICE сможет выводит на нее отладочную информацию. Что бы увидеть все видеокарты, которые поддерживает SoftICE, наберите команду СSet monitorТ. Для того, чтобы переключить вывод информации SoftICE на нужный Вам монитор, добавьте в конце команды его десятичный номер, например 'set monitor 1'. Если Вы не хотите, чтобы SoftICE изменял видеодрайвер, добавьте базовое имя DDI драйвера к ключу NTICE\ExcludedDisplayDrivers в регистре. Список драйверов разделяется точкой с запятой (;
). В SotfICE версии 4.0 добавлены новые информационные команды: APC, DPC, FMUTEX, KMUTEX, KEVENT, KSEM, INTOBJ, TIMER и NET. Их использование опи сано в разделе "Изменения системы команд в версии 4.0".
Менее значительные дополнения, особенности и исправления ошибок в версии 4. SoftICE теперь ищет символическое имя адреса во всех символьных таблицах, а не только в текущей активной таблице. Команды СDEVICEТ и СDRIVERТ теперь ищут полное дерево объекта, а не только за данные директории. Буфер UNICODE_STRING отображается как символьная строка. Вследствие прису щих отладчику ограничений, а также из за того, что строки в Unicode не обязательно оканчиваются нулем, SoftICE иногда показывает содержимое буфера после оконча ния строки. Пока данная особенность исправляться не будет. Команды СMAP32Т и СMODТ теперь поддерживают фильтрацию пользовательских ( u) и системных ( s) модулей. В команду IRP добавлены несколько новых параметров. С aТ будет просматривать все потоки для поиска заданного номера IRP в блоках окружения потоков ядра (KTEB). Параметры С nТ и С pТ позволяют задать направление поиска - соответственно, впе ред и назад. IntelliMouse теперь корректно работает в Windows 98 и в Windows NT при загрузке на этапе запуска системы. Исправлено выделение выбранного мышью текстового блока. Усовершенствовано управление видеокартами ATI на Windows NT Sp 3 и Sp 4. Если SoftICE не правит видеодрайвер Вашей видеокарты должным образом, что выража ется в "зависании" компьютера до появления экрана SoftICE при нажатии СCtrl DТ, то для пользователей Windows NT Sp 3 и Sp 4 существует способ обойти эту проблему. Необходимо создать в ветви реестра СHKLM\CurrentControlSet\Services \NTICEТ ключ СDoInt2DТ размером Dword и значением 1. Если Вы впервые устанавливаете Все перечисленные команды добавлены в версию SoftICE для Windows NT.
ReadMe.txt файл к SoftICE версии 4. SoftICE, и у Вас в компьютере установлена видеокарта ATI, то этот ключ создается ав томатически. В этом случае универсальный видеодрайвер должен работать коррект но. Если же у Вас тем не менее возникнут проблемы при работе с Windows 2000, по жалуйста, сообщите об этом в службу технической поддержки вместе с номером ис пользуемого Вами выпуска операционной системы;
тогда мы постараемся найти ре шение этой проблемы. Исправлена работа с символьными именами переменных: сложные массивы теперь корректно отображаются как в окне локальных переменных, так и в окне слежения;
контрольные точки теперь можно устанавливать на деструкторы, не рискуя получить сообщение об ошибке;
корректно отображаются статические члены класса;
и, нако нец, смещение членов класса может быть получено с помощью команды СTYPESТ. Значение переменной СHSTТ может быть установлено в winice.dat, Исправлены ошибки ассемблирования Сmov ax,104Т и Сmov eax, dr0Т. Нажатие клавиши СEnterТ в окне локальных переменных вызывает раскрытие и сжа тие содержимого структур. RtlAssert на Windows NT4 больше не приводит к появлению "синего экрана". Листание окна команд. - Вывод в окно команд теперь может быть пролистан по од ной строке за один раз при нажатии клавиши Enter. Другие клавиши пролистывают содержимое окна команд по странице за 1 раз. Команда СCrtl Alt CТ размещает окно вывода универсального видеодрайвера посере дине экрана монитора. Изменения, касающиеся обработки инструкции INT 3. SoftICE для Windows NT те перь может активизироваться по командам INT 3 в областях памяти выше 2 Гб. Это позволяет перехватывать вызовы драйверов DebugBreak(). Для обработки всех инст рукций INT 3 используется команда СI3HERE ONТ. Для отключения обработки следу ет выполнить команду СI3HERE OFFТ. Для обработки инструкций INT 3, расположен ных выше 2 Гб, применяется команда СI3HERE DRVТ.
Известные проблемы в версии 4. Минимальный объем памяти, необходимый для использования BoundsChecker Driver Edition, составляет 32 Мб. Если Вы работаете одновременно с программой BoundsChecker или FieldAgent и SoftICE под управлением Windows NT или Windows 2000, то Вам придется уменьшить размер видеобуфера SoftICE до 1024 Кб и использовать небольшой буфер про токола, однако, установка размера видеобуфера меньше 1024 Кб может привести к нару шению работы SoftICE. (Это не относится к моментам, когда SoftICE находится в неактив ном состоянии.) ReadMe.txt файл к SoftICE версии 4. Изменения системы команд в версии 4. Команда STACK: выводит стек вызовов STACK [-v|-r]|[task_name|thread_type|ss:ebp] v : просмотр - показывает локальные переменные r : показывает переходы между кольцами защиты Команда MOD: выводит список модулей MOD [-u|-s]|[partial_name*] u : только пользовательские модули s : только системные модули Команда MAP32: выводит карту размещения 32 битных модулей MAP32 [-u|-s]|[mod_handle|mod_name] u : только пользовательские модули s : только системные модули Команда IRP: выводит содержимое структуры данных IRP. IRP [-f|-n|-p|-a] pIrp a : проход по всей IRP очереди потоков n : следующий IRP стек p : предыдущий IRP стек Команда WX: открывает и управляет окном регистров процессора Pentium III WX [-f|-d|*] f : показывает данные в формате с одинарной (real) точностью d : показывает данные в формате с двойной (dword) точностью * : переключение между форматами одинарной и двойной точности Команда WS: открывает и изменяет размер окна стека WS [window_size] window_size : высота окна стека с строках Команда APC: выводит содержимое структуры данных APC APC [apc|TID|PID] apc : адрес APC TID : выводит структуры APC, принадлежащие указанному потоку PID : выводит структуры APC, принадлежащие указанному процессу Команда DPC: выводит содержимое структуры данных DPC DPC [dpc] dpc : адрес DPC Команда FMUTEX: выводит содержимое структуры данных 'fast mutext' FMUTEX [fast_mutext] fast_mutext : адрес структуры 'fast mutext' ReadMe.txt файл к SoftICE версии 4.01 Команда KMUTEX: выводит содержимое структуры данных 'kernel mutext' KMUTEX [kernel_mutex] kernel_mutext : адрес структуры 'kernel mutext' Команда KEVENT: выводит содержимое структуры данных 'kernel event' KEVENT [kernel_event] kernel_event : адрес структуры 'kernel event' KSEM [semaphore] semaphore : адрес структуры 'semaphore' Команда KSEM: выводит содержимое структуры данных 'kernel semaphore' Команда INTOBJ: выводит содержимое структуры данных объекта 'interrupt' (прерывание) INTOBJ [vector|interrupt_object] vector : номер вектора прерывания interrupt_object : адрес объекта TIMER [timer] timer : адрес объекта Команда TIMER: выводит содержимое структуры данных объекта 'timer' (таймер) Команда NET: позволяет связаться с удаленным клиентом через сеть NET [START|ALLOW|PING|RESET|STOP|HELP|STATUS] Дополнительную информацию по удаленной отладке смотрите в "Руководстве поль зователя".
Настройка удаленной отладки Для использования отладчика SoftICE в режиме удаленной отладки Вам необходимо за менить файл EL90XND4.SYS одноименным файлом, поставляемым в составе DriverStudio в директории SoftICE. Тот же файл может заменять собой и EL90X.SYS. Однако, если Вы за менили файл EL90X.SYS файлом EL90XND4.SYS из поставки DriverStudio, не забудьте его соответствующим образом переименовать.
Требования к системе Для всех систем: 5 Мб дискового пространства 2.5 Мб дополнительного дискового пространства (по желанию, для установки Adobe Acrobat Reader для чтения руководств в электронной форме) Microsoft совместимая мышь с последовательным или PS/2 интерфейсом (по желанию) Один монитор (поддерживаются также возможность установки монохромного монитора) Поддерживается возможность удаленной отладки через соединение с помощью NE2000 или 3Com сетевых карт ReadMe.txt файл к SoftICE версии 4.01 Для Windows 95/98: Операционная система Windows 95/98 Минимум 16 Мб оперативной памяти (рекомендуется 32 Мб) Для Windows NT:
Однопроцессорная система на Intel x86 или SMP система, поддерживающая стандарт Intel Операционная система Windows NT 3.51 Операционная система Windows NT 4.0 (выпуск 1381) Минимум 32 Мб оперативной памяти (рекомендуется 64 Мб) Возможность установки программ в системе с правами администратора.
Установка Для установки SoftICE запустите программу SETUP.EXE. Для Windows NT запуск Setup должен быть осуществлен пользователем, обладающим правами администратора. Программа установки предложит Вам выбрать фирму изготовителя и модель исполь зуемого Вами видеоадаптера. Кроме того, имеется возможность установки универ сального видеодрайвера, или использовать дополнительный монохромный монитор. Затем программа установки попросит указать тип используемой мыши (последова тельные COM1 или COM2, или PS/2;
или мышь отсутствует (NONE)). Подключение мыши через шину (bus mouse) не поддерживается. Выбранные Вами на этапе установки типы видеокарты и мыши могут быть в даль нейшем изменены с помощью программ СDisplay AdapterТ или СMouse SetupТ из стар тового меню (Windows 95) или программной группы SoftICE (Windows NT). Только для Windows NT: Программа установки предложит Вам выбрать способ за грузки SoftICE, который в дальнейшем может быть изменен с помощью программы СStartup Mode SetupТ из программной группы SoftICE. Для удаления SoftICE с диска выберите пункт СRemove SoftICEТ из стартового меню (Windows 95) или программной группы SoftICE (Windows NT).
Советы по устранению некоторых проблем при работе SoftICE с видеокартами Последняя версия "Советов", а также базы знаний on line размещены в соответствую щих разделах нашего сайта по адресу: Начиная с версии 3.2, SoftICE (95/NT) поддерживает значительно больше видео устройств, чем когда либо, что достигается использованием технологии Microsoft DirectX. Это позволяет отладчику использовать универсальный видеодрайвер (Universal Video ReadMe.txt файл к SoftICE версии 4. Driver - UVD), который работает практически со всеми новыми видеокартами, поддержи вающими ActiveX/Direct Draw. Обратите внимание, что для использования UVD как видеокарта, так и ее драйвер должны поддерживать DirectDraw. Если при у Вас возникли проблемы с отображением информации SoftICE, а Ваша карта поддерживает Direct Draw: 1. Запустите программу 'Display Adapter Setup' (Установка видеоадаптера) SoftICE. 2. На вкладке со списком производителей выберите СSTANDARD VGAТ. 3. Установите флажок СUniversal Video DriverТ. 4. Нажмите кнопку СTESTТ для проверки работоспособности системы. Если система откажется работать, но Вы, тем не менее, уверены, что видеокарта под держивает DirectDraw, то попробуйте сделать следующее: 1. Загрузите и установите последнюю версию драйвера для Вашей видеокарты. По следние разработки обычно обеспечивают работу с DirectDraw для видеокарт, под держивающих эту технологию. 2. Для операционной системы Windows NT попытайтесь изменить режим загрузки отладчика на СAutomaticТ или СManualТ. Если Вы не можете использовать SoftICE с Вашей видеокартой, но она поддерживает DirectX, то, пожалуйста, сообщите нам следующую информацию: 1. Какой режим загрузки Вы используете (boot, system, automatic или manual)? 2. Откройте СControl PanelТ > СDisplayТ (СПанель управленияТ > СЭкранТ) и запишите: Тип видеоадаптера Ч Производитель Ч Версия, номер Информация о видеоадаптере Ч Тип набора микросхем Ч Дата выпуска Ч Объем видеопамяти Ч Данные о BIOSТе Если Ваша карта не поддерживает Direct Draw: 1. Загрузите и установите последнюю версию драйвера для Вашей видеокарты. 2. Загрузите и установите последнюю версию видеодрайверов SoftICE с нашего FTP сайта: ftp://ftp.numega.com/anonymous/tech/. Для Windows 95 загрузите файл SIWVID95.ZIP, для Windows NT ЦSIWVIDNT.ZIP 3. Запустите программу 'Display Adapter Setup' (Установка видеоадаптера) SoftICE и заново установите поддержку Вашей видеокарты. Попробуйте дополнительные возможности работы, перечисленные руководстве SoftICE: 1. С дополнительным монохромным монитором и Hercules совместимой видеокар той. 2. Через последовательное соединение. 3. В режиме СSTANDARD VGAТ. В случае использования SoftICE в режиме стандарт ного VGA Вам необходимо:
ReadMe.txt файл к SoftICE версии 4. a. Из окна СDisplayТ (СЭкранТ) изменить установки видеоадаптера: Manufacturer: Standard Display Types (стандартный тип дисплея);
Display: VGA Compatible Display Adapter (VGA совместимый видеоадаптер) b. В программе СDisplay adapter setupТ измените установки на СStandard VGAТ и не ус танавливайте флаг СUniversal Video DriverТ. Если ни один из выше перечисленных советов Вам не подойдет, мы настоятельно реко мендуем получить к Вашей видеокарте новейший видеодрайвер с поддержкой Direct Draw. Обратите внимание, что фирма NuMega больше не занимается разработкой драйверов для поддержки новых видеокарт. Все они будут управляться с использованием технологии Di rect Draw, что позволит отладчику работать практически с любыми видеокартами, поддер живающими Direct Draw.
Краткая инструкция по началу отладки 1) Запустите утилиту Symbol Loader (LOADER32.EXE). 2) В меню СFileТ выберите пункт СOPEN MODULEТ и откройте модуль, который Вы соби раетесь отлаживать. 3) В меню СModuleТ выберите пункт СLoadТ (или нажмите кнопку СLoadТ на панели инст рументов). Symbol Loader самостоятельно извлечет из Вашего модуля отладочную инфор мацию, создаст.NMS файл и загрузит его и файл с исходными текстами. Если Вы отлажи ваете исполняемое приложение, то утилита также загрузит.EXE файл и установит преры вание на точку входа в модуль. После этого Вы можете начать работу. Дополнительные функции утилиты Symbol loader, которые могут Вам пригодиться: Меню СModuleТ пункт СSETTINGSТ - выбор режимов трансляции и отладки Вашего модуля;
Меню СModuleТ пункт СTRANSLATEТ - создание.NMS файла для предварительной за грузки на этапе запуска SoftICE;
Меню СEditТ пункт СSOFTICE INITIALIZATION SETTINGSТ - изменение установок в файле WINICE.DAT;
Меню СFileТ пункт СLOAD EXPORTSТ - загрузка экспортируемой информации из необ ходимых Вам.DLL файлов;
Меню СFileТ пункт СSAVE SOFTICE HISTORYТ - сохранение протоколов работы отладчи ка (в файлах WLOG и DLOG).
Использование SoftICE с Windows Существующая в настоящий момент Windows 2000 - это лишь бета версия операци онной системы. К сожалению, это означает, что какие нибудь незначительные изменения при переходе от одного выпуска Windows 2000 к другому могут нарушить функционирова ние отладчика. Мы протестировали работу SoftICE версии 4.0 с выпусками Windows 2000 №№1946, 2000 2021, 2031 и 2072, однако, функционирование отладчика в них поддержива ется с некоторыми известными ограничениями. За дополнительной информацией по ис пользованию SoftICE под управлением Windows 2000 обратитесь к описанию, приведенно му в файле 'NT5BOOT.TXT' из поставки SoftICE. В конфигурацию ручной загрузки SoftICE могут быть внесены некоторые изменения для повышения шансов на поддержку последующих выпусков кроме №№1946, 2000 2021, ReadMe.txt файл к SoftICE версии 4. 2031 и 2072. Однако, на данном этапе работоспособность отладчика с другими выпусками Windows 2000, кроме ранее перечисленных, пока не гарантируется. Ниже приведен список изменений, которые необходимо сделать для поддержки Win dows 2000. 1) Вследствие проблем с доступом к файловой системе на этапе загрузки, если Вы хоти те загружать SoftICE в качестве загрузочного драйвера, то Вам необходимо сначала вос пользоваться программой ICEPACK.exe. Дополнительную информацию о использовании SoftICE в качестве загрузочного драйвера смотрите в файле 'NT5BOOT.TXT'. 2) Если Вы используете выпуск Windows 2000, отличный от 1946, 2000 2021, 2031 или 2072, то Вам необходимо будет сделать следующее. Поместите в конфигурационный файл winice.dat командную строку NTSYMBOLS=ON и автоматически загружайте символьную информацию для модуля NTOSKRNL. Данная команда позволит SoftICE использовать символические имена ядра операцион ной системы для просмотра и перехвата ключевых программ и данных. Удостоверьтесь, что загружаемая Вами символьная информация соответствует используемой версии NTOSKRNL.exe. Метод, используемый SoftICE, несовместим с изменениями в двоичном коде модуля NTOSKRNL. Символьная информация позволяет обойти эту проблему. Авто матическая загрузка символов может быть выполнена через утилиту Symbol Loader (Loader32.exe) - меню СEditТ пункт СSOFTICE INITIALIZATION SETTINGSТ. Отладочная инфор мация для NTOSKRNL поставляется в виде файла ntoskrnl.dbg. Этот файл может быть от транслирован в.NMS файл с помощью Loader32.exe или nmsym.exe. Обратите внимание, что отладочная информация для Windows 2000 создается с помощью VC 6.0. Поместите файл 'mspdb60.dll' в каталог для трансляции отладочной информации для этого и после дующих выпусков. Файл можно найти на установочном CD №1 в каталоге Common\ MSDEV98\BIN. 3) Поддержка клавиатуры может не срабатывать в последующих выпусках Win dows 2000. Причиной является тот факт, что изменения в драйвере клавиатуры SoftICE вы полняет непосредственно в двоичном файле. Для поддержки новых выпусков загрузите драйвер Сi8042prt.sysТ с Сftp.numega.com\anonymous\techТ. Замените им текущий драйвер, установленный в Вашей системе (но старый сохраните на всякий случай). Эта версия под держивается SoftICE, так как Сi8042prt.sysТ - это просто драйвер из того выпуска, которым он обозначен. 4) Необходимо отключить графический интерфейс этапа загрузки, введенный в выпус ке 1814. Было несколько случаев, когда GUI вызывал у SoftICE проблемы с поддержкой VGA. Отладчик не может всплыть в режиме VGA или текстовом режиме, если поддержка GUI этапа загрузки не отключена. Ниже приведен пример boot.ini с ключом С/noguibootТ: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(1) \WINNT="Windows NT Workstation Version 5.00" /noguiboot 5) Если SoftICE загружается в качестве системного драйвера, то сообщение СPress Esc to cancel loading SoftICEТ ('Нажмите клавишу Esc для прекращения загрузки SoftICE') иногда может не появляться. Тем не менее, Вы все равно можете прервать загрузку отладчика та ким способом.
ReadMe.txt файл к SoftICE версии 4. 6) SoftICE не может выполнить изменения в драйвере клавиатуры, поставляемом с от ладочной версией выпуска №2031 Windows 2000. Вам потребуется заменить драйвер кла виатуры отладочной версии выпуска №2031 на драйвер, поставляемый с обычной версией. 7) За дополнительной поддержкой работы с Windows 2000 обращайтесь на сайт NuMega Lab. На странице постоянно размещаются новые инструкции, драйверы и дополнительная информация по новым выпускам операци онной системы.
Использование нескольких мониторов под Windows 98 и Windows Обратите внимание, что упоминаемая в данном разделе поддержка Windows 2000 не скольких мониторов не является окончательной. Windows 98 и Windows 2000 поддерживают одновременную работу нескольких мони торов. Один из них, называемый основным (или первичным), должен поддерживать режим VGA (этот монитор активен на этапе загрузки системы), на остальных мониторах режим VGA отключен. На этапе выбора монитора при установке отладчика установки укажите используемое в данный момент устройство в качестве основного. Например, если вы используете видео карту на микросхеме S3 в качестве основной, а ATI карту в качестве вторичного устройст ва, то задайте для SoftICE использование S3 видеокарты.
Указание, какой монитор использовать При использовании универсального видеодрайвера можно указать, на какой монитор выводить отладочную информацию. Добавите в WINICE.DAT следующую строку: MONITOR=1 Она заставляет SoftICE воспользоваться "вторым" монитором. Для выбора необходи мого устройства используются десятичные значения 0, 1, 2 и т.д. Если под Windows 2000 Вы устанавливаете новую видеокарту или удаляете старую, то не забудьте запустить программу установки видеоустройств SoftICE после успешного стар та операционной системы в новой конфигурации.
Отладка видеодрайверов под Windows Под управлением Windows 98 может быть одновременно загружено множество видео драйверов и существовать несколько экземпляров каждого драйвера. К сожалению, все эти видеодрайверы имеют одинаковое имя модуля - DISPLAY, поэтому SoftICE не может понять, какой именно из этих драйверов ассоциируется с символьной таблицей. Поэтому символьная таблица приписывается первому загруженному видеодрайверу, который не обязательно будет тем, который Вы собираетесь отлаживать. Существует 2 варианта решения этой проблемы: Не запускать по несколько видеодрайверов или экземпляров драйверов, если это не является необходимым.
ReadMe.txt файл к SoftICE версии 4. Использовать команду SYMLOC для указания SoftICE, какой модуль должен ассоции роваться с таблицей символов: SYMLOC [hmod] Параметр hmod Ч это дескриптор модуля (16 битное число). Получить список за груженных видеодрайверов и их дескрипторов можно с помощью команды MOD (например, MOD DISPLAY).
Использование SoftICE совместно с Visual C++ версий 5.0 и 6. При компоновке файлов необходимо указать параметр /PDBTYPE:CON (/PDBTYPE:SEPT не поддерживается). Чтобы его установить в IDE, необходимо с закладки СLinkТ настройки проекта выбрать категорию "DEBUG" и убедиться, что параметр "SEPARATE TYPES" не выбран. Не устанавливайте параметр отладочной информации "Program Database Edit and Continue". Из режима командной строки не используйте параметр /ZI, а только /Zi. При создании виртуальных драйверов VxD с помощью Visual C +5.0: + 1. Необходимо пользоваться компоновщиком версии 4.1 или более поздний. Более ран ние версии не создаю отладочную информацию должным образом. 2. При компоновке нельзя пользоваться параметром /PDB:NONE. Если Вы это сделае те, то не получите никакой отладочной информации.
Использование SoftICE совместно с Borland C++Builder C + Builder сохраняет отладочную информацию в.TDS файлах отдельно от исполняе + мых. Эти файлы могут быть также созданы утилитой TDSTRP32. Для загрузки отладочной информации и исходных кодов в SoftICE просто загрузите.TDS файл с помощью утилиты Symbol Loader. Если же Вы хотите загрузить также и исполняемый файл, то это должно быть сделано отдельным этапом после загрузки отладочной информации. Либо Вы можете установить с помощью отладочной информации контрольные точки и запустить приложе ние обычным образом.
Известные проблемы При использовании универсального видеодрайвера Вы иногда можете увидеть за пределами экрана SoftICE стандартный курсор Windows. Это происходит вследствие того, что курсор (обычно) отображается аппаратным образом. Если Вас это раздра жает, то одним из способов выйти из этой ситуации является установка окрашенного или анимированного курсора (через панель управления). В этом случае операцион ное система переключается на программное отображение курсора, который стирает ся при включении экрана SoftICE. В некоторых случаях может показаться, что SoftICE для Windows NT завешивает Ваш компьютер (что на самом деле не так!): - Вы запустили SoftICE для Windows NT вручную и работаете не в полноэкранном (VGA) режиме;
- Вы используете универсальный видеодрайвер;
- Вы не добавили команду СX;
Т в конце строки инициализации SoftICE.
ReadMe.txt файл к SoftICE версии 4. SoftICE при выполнении всех этих условий будет запущен, но останется невидимым. Нажатие СCtrl DТ восстановить управление системой. При следующем нажатии СCtrl DТ экран SoftICE появиться как обычно. Причиной этой проблемы является то, что универсальный драйвер не может начать нормально функционировать до пере дачи по крайней мере одной команды видеодрайверу. Эта проблема не касается SoftICE для Windows 95. При отладке 16 битных программ команды С? переменнаяТ и СWATCH переменнаяТ не работают. Однако, окно локальных переменных функционирует в полном объеме. В отладочной версии Windows NT 3.51 SoftICE завешивает компьютер при использо вании поставляемой с ним версия конфигурационного файла winice.dat. Для того чтобы избежать этого измените файл winice.dat следующим образом: Добавьте строку 'mouse=off' Ести Вы при работе с SoftICE используете мышь, то добавьте в строку инициализации INIT команду 'set mouse on', например: init="set mouse on;
X;
" SoftICE 3.2 для Windows 95 несовместим с 16 битной версией BoundsChecker для Windows 3.x. Режим отключения компьютера "Restart computer in MS DOS" ("Перезагрузить компь ютер в режиме MS DOS") при работе отладчика не поддерживается. При выборе этого режима операционная система при загруженном SoftICE становится нестабильной и как правило зависает. Для перехода в режим MS DOS после отключения Windows 95 необходимо в системный файл MSDOS.SYS (фактически это текстовый файл, имею щий атрибуты "скрытый", "системный" и только для чтения") добавить строку 'BOOT GUI=0' и пользоваться режимом "Shutdown the Computer" ("Выключить компьютер"). Windows NT становится нестабильной, когда работает с малым количеством невы гружаемой памяти. Это может произойти, если Вы загружаете много файлов с ис ходными текстами и отладочной информацией. Использование отладчиком опера тивной памяти можно проверить с помощью утилиты Symbol Loader, используя в ме ню 'Help' пункт 'ABOUT SYMBOL LOADER'. По умолчанию SoftICE загружает все исход ные тексты. Чтобы ограничить их количество только необходимыми в данной отла дочной сессии, создайте в одном каталоге с приложением текстовый файл с именем приложения и расширением.SRC, где перечислите нужные Вам на данный момент файлы с исходными кодами.
Советы по решению проблем Ненормальное поведение клавиатуры. Если при активизации SoftICE клавиатура на чинает вести себя странным образом, то в меню 'Edit' в пункте 'SOFTICE INITIALIZATION SETTINGS' на закладке 'TROUBLESHOOTING' утилиты Symbol Loader установите флажки: Ч 'Disable Num Lock and Caps Lock programming' а также, если Вы работаете в Windows NT: Ч 'Do not patch keyboard driver' Ненормальное поведение мыши. Если при активизации SoftICE было движение мы ши, то синхронизация между операционной системой и аппаратным обеспечением может нарушиться. В результате часть информации о положении курсора теряется, ReadMe.txt файл к SoftICE версии 4. что приводит к ненормальному функционированию мыши. Для новой синхрониза ции мыши необходимо выполнить одно из ниже перечисленных действий: Ч Нажать в SoftICE 'Ctrl M' (может потребоваться сделать это несколько раз). Ч В Windows NT переключиться в полноэкранный режим MS DOS. Ч Windows 95 последовательно выдать команды 'SET MOUSE OFF', а затем 'SET MOUSE ON'. Если Вы попадаете в ситуацию, когда в результате логики программы, либо из за по тери данных SoftICE входит в бесконечный цикл и не отвечает на информационные команды, нажмите несколько раз клавишу 'Esc' для прерывания выполнения текущей операции. Отладка программ на Delphi. Убедитесь, что режим оптимизации выключен (параметр '$O '). При включенном режиме оптимизации удаляется множество неис пользуемых параметров и локальных переменных, несмотря на то, что ссылки на них в отладочной информации остаются.
Известные проблемы, связанные с Watcom C++ Watcom C + V11.0, по видимому, не создает корректной отладочной информации + CodeView (при любых параметрах). Для более ранних версий Watcom C + такой + проблемы не отмечалось. Если Watcom C + V10.6 используется с компоновщиком фирмы Microsotf (из ком + плекта VC +V4.2) для создания VxD драйверов, отладочная информация о номерах + строк создается компоновщиком не корректно. Причина этой проблемы не известна, и она может обнаружиться и в других версиях.
Проблема зависания Windows 95 OSR2, связанная с 3Com Ethernet сетевыми адаптерами Возможно зависание во время запуска системы Windows 95 OSR2 при использовании NDIS3 минипорт драйвера с EtherDisk v2.1x для 3Com EtherLink и Fast EtherLink XL сетевых адаптеров. Это вызвано с проблемами распределения памяти в драйвере 3Com при работе в данной версии Windows. Хотя зависание и не связано с работой SoftICE, как правило оно возникает при загрузке отладчика. Обновленную версию драйвера (в настоящее время бета версию), которая решает дан ную проблему, можно получить от фирмы 3Com.
Сообщения о возникших проблемах и предложениях 15 июня 1998 г. фирма NuMega запустила общедоступную базу знаний для оказания помощи пользователям своих программ 24 часа в сутки. Бесплатный доступ к этой базе возможен через раздел "Support" (Поддержка) нашего Web сайта по адресу: knowledgebase/query.asp ReadMe.txt файл к SoftICE версии 4. Обновления программ, списки часто задаваемых вопросов (FAQ) и различная техниче ская информация также может быть получена с нашего сайта: Контакт со службой технической поддержки возможет через раздел "Support" (Поддержка) нашего Web сайта или по электронной почте: tech@numega.com Для получения помощи от фирмы NuMega в письмо необходимо включить серийный номер используемого Вами продукта. При описании возникшей у Вас технической проблемы включите: описание конфигурации системы (используемая операционная система, процессор, размер оперативной памяти);
детальное описание проблемы (включая точный текст сообщения об ошибке);
постоянна ли эта ошибка и как ее можно воспроизвести. Пользователи, имеющие возможность первоочередной поддержки, могут звонить нам по телефонам 1 888 NUMEGAS (888 686 3427) или +1 603 578 8100. Так же можно послать факс по номеру +1 603 578 8401 (attention: Technical Support). Если Вы не являетесь приоритетными пользователями, но желаете стать им, посетите наш сайт или позвоните в 800 4NUMEGA. Copyright 1998 1999 Compuware Corp. 4/ Перевод выполнил Sergey R. на сайте "Отдел Исследования Программ" Книги, научные публикации