Содержание: Введение
Краткое описание
Отладчик SoftICE
Установка
Использование отладчика SoftICE
Пользовательский интерфейс в SoftICE
Утилита Symbol Loader
Утилита SIWSYM
Установка утилиты SIWSYM
ICEPACK. EXE
Глава 1. Настройка SoftICE
1.1. Изменение настроек инициализации SoftICE
1.1.1. Общие настройки
1.1.2. Предварительная загрузка символов и исходного кода
1.1.3. Предварительная загрузка экспорта
1.1.4. Настройка удаленной отладки по последовательному соединению
1.1.5. Настройка удаленной отладки по сети
1.1.6. Назначение действий функциональным клавишам
1.1.7. Постоянные макрокоманды
1.1.8. Временные макрокоманды
1.1.9. Задание параметров для устранения неисправностей
1.1.10. Дополнительные настройки (Advanced)
1.2. Настройка экрана
1.2.1. Универсальный видеодрайвер
1.2.2. Установка размера видеопамяти
1.2.3. Изменение размеров экрана SoftICE
1.2.4. Изменение цветов на экране отладчика
1.3. Настройка принтера
Глава II. Загрузка кода в SoftICE
2.1. Общие представления об отладке
2.2. Загрузка SoftICE
2.3. Создание приложений с отладочной информацией
2.4. Использование Symbol Loader для трансляции и загрузки файлов
2.4.1. Изменение настроек Symbol Loader
2.4.1.1. Изменение общих параметров настройки (вкладка General)
2.4.1.2. Изменение параметров настроек трансляции (вкладка Translation)
2.4.2. Задание исходных файлов программы
2.4.3. Удаление таблицы символов
2.4.4. Использование утилиты Symbol Loader из командной строки DOS
2.5. Утилита NMSYM (загрузчик символов командной строки)
2.5.1. Синтаксис утилиты NMSYM
2.5.2. Трансляция отладочной информации
2.5.3. Загрузка модулей и отладочной информации
2.5.4. Загрузка таблиц символов и экспорта
2.5.4.1. Пакетная загрузка и выгрузка таблиц символов и экспорта
2.5.5. Выгрузка отладочной информации
2.5.6. Сохранение протокола работы в файл
2.5.7. Получение информации о номерах версий и помощи
2.6. Загрузка символов для системных компонентов
2.6.1. Загрузка символов для динамических библиотек и исполняемых файлов
2.6.2. Использование неименованных точек входа
2.6.3. Использование экспортируемых имен в выражениях
2.7. Отладка нескольких программ одновременно
Глава III. Интерфейс отладчика SoftICE. Работа с окнами
3.1. Активизация экрана SoftICE
3.1.1. Экран отладчика SoftICE
3.2. Управление окнами отладчика
3.2.1. Перемещение курсора из одного окна в другое
3.2.2. Прокручивание содержимого окон
Глава IV. Использование выражений
Выражения
4.1. Операторы
4.1.1. Приоритет операторов
4.2. Формирование выражений
4.3. Типы выражений
4.4. Косвенная адресация
4.5. Размеры операндов
4.6. Приведение типов
4.7. Вычисление значений идентификаторов
4.8. Использование операторов косвенной адресации с идентификаторами
Глава V. Брейкпоинты
5.1. Типы брейкпоинтов
5.1.2. Контекст брейкпоинта
5.1.3. Виртуальные брейкпоинты
5.1.4. Действия, выполняемые при срабатывании брейкпоинтов
5.1.5. Условные брейкпоинты
5.1.6. Функции статистики условных брейкпоинтов
5.1.7. Использование локальных переменных в условных выражениях
5.1.8. Обращение к стеку в условных брейкпоинтах
5.1.9. Производительность
5.1.10. Двойные брейкпоинты
5.1.11. Затраченное время
5.1.12. Статистика брейкпоинтов
5.1.13. Обращение к брейкпоинтам в выражениях
5.1.14. Управление брейкпоинтами
5.1.15. Использование встроенных брейкпоинтов
5.1.16. Область видимости брейкпоинта
5.2. Аппаратное отладочное окружение процессоров Intel
5.2.1. Аппаратные средства отладки
5.2.2. Отладочные регистры
5.2.3. Распознавание поля брейкпоинта
5.2.4. Типы отладочных исключений
5.2.5. Отладочные машинно-специфичные регистры
Глава VI. Исследование Windows NT с помощью отладчика SoftICE
Подсистема Win32
Функции управления кучами
Глава VII. Тандем отладчиков BoundsChecker Driver Edition и SoftICE
7.1. Что такое BoundsChecker Driver Edition?
7.2. Настройка отладчика BoundsChecker
7.3. Просмотр событий
7.3.1. Просмотр событий в окне событий
7.3.2. Просмотр событий в окне команд
7.3.3. Просмотр результатов наблюдений
7.3.4. Поиск событий
7.4. Отображение информации о событиях
7.4.1. Отображение общей информации о событиях
7.4.2. Отображение детальной информации о событиях
7.5. Фильтрация событий
7.5.1. Фильтрация по типу события
7.5.2. Фильтрация по параметрам
7.6. События, отслеживаемые отладчиком BoundsChecker
7.6.1. Стандартные процедуры драйверов и функции обратного вызова
7.6.2. Системные события
7.6.3. Ошибки
7.6.3.1. Ошибки возврата из API-функций
7.6.3.2. Ошибки при передаче параметров
7.6.3.3. Нарушение IRQL
7.6.3.4. Ошибки при работе со стеком
Глава VIII. Удаленная отладка
8.1. Типы поддерживаемых соединений
8.2. Какой тип удаленного соединения выбрать?
8.3. Специализированный сетевой драйвер (Specialized Network Driver)
8.4. Универсальный сетевой драйвер (Universal Network Driver)
8.5. Установка сетевого соединения
8.5.1. Команда NET (целевая машина)
8.5.2. Утилита SIREMOTE (хост-машина)
8.6. Удаленная отладка через последовательное соединение
8.7. Удаленная отладка с помощью модема
Глава IX. Дополнительные возможности отладчика SoftICE
9.1. Перехват ошибок
9.1.1. 32-битный код защищенного режима кольца 3 (программы Win32)
9.1.2. Драйверы кольца 0 (драйверы устройств режима ядра)
9.1.3. 16-битный код защищенного режима кольца 3 (16-битные Windows программы)
9.2. Переход из 3 кольца защиты в 0 кольцо - общие сведения
9.3. Адресный контекст
9.4. Использование. DOT (точка)-команд
9.5. Расширения отладчика на уровне ядра
9.5.1. Написание собственных расширений
9.6. Режим эмуляции трассировки (trace simulation mode)
Глава X. Обнаружение отладчика SoftICE
10.1. Обнаружение отладчика SoftICE в среде Windows 9x
10.2. Обнаружение отладчика SoftICE в среде Windows 9x и Windows NT/2000/XP
10.3. Аппаратные способы обнаружения отладчика SoftICE
Приложение 1. Глоссарий
Приложение 2. Сообщения об ошибках
Приложение 3. Пример практического использования отладчика SoftICE