Нахождение исполняемых образов с изменениями приводящими к ошибкам
Нахождение исполняемых образов с изменениями приводящими к ошибкам
Обычно полезно знать, в какой версии исходных кодов ядра появился дефект. Если известно, что дефект появился в версии 2.4.18, но его не было в версии 2.4.17, то сразу появляется ясная картина изменений, которые привели к появлению ошибки. Исправление ошибки сводится к обратным изменениям, или другим исправлениям измененного кода.
Однако, чаще оказывается неизвестным в какой версии появился дефект. Известно, что проблема проявляется в текущей версии ядра, и кажется, что она всегда была в текущей версии. Хотя это и требует некоторой исследовательской работы, но приложив небольшие усилия можно найти изменения, которые привели к ошибкам. Если известны эти изменения, то до исправления ошибки уже недалеко.
Для того, чтобы начать, необходима четко повторяемая проблема. Желательно, чтобы проблема проявлялась сразу же после загрузки системы. Далее необходимо гарантированно работающее ядро. Вероятно, это ядро уже известно. Например, может оказаться, что пару месяцев назад ядро работало нормально, поэтому стоит взять ядро того времени. Если это не помогает, то можно воспользоваться еще более старой версией. Такой поиск ядра без дефекта должен быть не сложным, если, конечно, дефект не существовал всегда.
Далее, необходимо ядро, в котором гарантированно есть дефект. Для облегчения поиска следует воспользоваться наиболее ранней версией ядра, в которой есть дефект. После этого начинается поиск исполняемого образа, в котором появилась ошибка. Рассмотрим пример. Допустим, что последнее ядро, в котором не было ошибки — 2.4.11, а последнее с ошибкой — 2.4.20. Начинаем с версии ядра, которая находится посредине — 2.4.15. Проверяем версию 2.4.15 на наличие ошибки. Если версия 2.4.15 работает, значит ошибка появилась в более поздней версии. Следует попробовать версию между 2.4.15 и 2.4.20, скажем версию 2.4.17. С другой стороны, если версия 2.4.15 не работает, то тогда ясно, что ошибка появилась в более ранней версии, и следует попробовать версию, скажем 2.4.13. И так далее.
В конце концов проблема сужается до двух ядер — одно с дефектом, а другое — без. В таком случае есть ясная картина изменений, которые привели к проблеме.
Такой подход избавляет от необходимости проверять ядра всех версий!
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
12.2.5. Нахождение набора ожидающих сигналов
12.2.5. Нахождение набора ожидающих сигналов Очень легко найти сигналы, находящиеся в состоянии ожидания (сигналы, которые должны быть доставлены, но в данный момент заблокированы).#include <signal.h>int sigpending(sigset_t *set);Эта функция записывает по адресу, указанному set, набор сигналов,
Форматы исполняемых файлов
Форматы исполняемых файлов Виртуальная память процесса состоит из нескольких сегментов или областей памяти. Размер, содержимое и расположение сегментов в памяти определяется как самой программой, например, использованием библиотек, размером кода и данных, так и
Нахождение специфических элементов
Нахождение специфических элементов Когда списку необходимо найти специфический элемент, он посылает уведомление LVN_ODFINDITEM. Это может случиться, если требуется реализовать нажатие быстрой клавиши (поиск по имени), или элемент получил сообщение LVM_FINDITEM. Информация для
Нахождение более точных значений
Нахождение более точных значений Чтобы получить более точные значения, используем дисплей курсора следующим образом. Закройте окно Probe и возвратитесь к позиции PSpice из главного меню. Выберите Edit Simulation Settings и выполните моделирование от 50 до 70 Гц для трех частот. Когда
Управление технологическими изменениями
Управление технологическими изменениями Цель 1. Планирование внедрения технологических изменений.Цель 2. Оценка новых технологий с целью определения их влияния на качество продукта и продуктивность производственного процесса.Цель 3. Внедрение подходящих новых
Управление изменениями процесса
Управление изменениями процесса Цель 1. Планирование непрерывного усовершенствования процесса.Цель 2. Участие в работах по усовершенствованию производственного процесса организации должно носить общекорпоративный характер.Цель 3. Непрерывное усовершенствование СППО
14. Предпочитайте ошибки компиляции и компоновки ошибкам времени выполнения
14. Предпочитайте ошибки компиляции и компоновки ошибкам времени выполнения РезюмеНе стоит откладывать до выполнения программы выявление ошибок, которые можно обнаружить при ее сборке. Предпочтительно писать код, который использует компилятор для проверки инвариантов
6.2.2. Нахождение границ диапазона
6.2.2. Нахождение границ диапазона Методы first и last возвращают соответственно левую и правую границу диапазона. У них есть синонимы begin и end (это еще и ключевые слова, но интерпретируются как вызов метода, если явно указан вызывающий объект).r1 = 3..6r2 = 3...6r1a, r1b = r1. first, r1.last # 3,6r1c, r1d =
Ода ошибкам и исключениям
Ода ошибкам и исключениям Вне зависимости от того, что говорит нам наша (часто преувеличенная) самооценка, абсолютно идеальных программистов не существует. Создание программного обеспечения является сложным делом и поэтому даже самые лучшие программы могут иметь
8.3. Нахождение значений в связке ключей
8.3. Нахождение значений в связке ключей Постановка задачи Требуется найти в связке ключей имеющийся там
SAP и управление изменениями
SAP и управление изменениями В описании проекта внедрения SAP в предыдущей главе уже упоминалось о том, что проект внедрения SAP ничем не отличается от любого другого проекта по улучшению эффективности работы предприятия. Благодаря полно-масштабному характеру этого
Управление изменениями в рамках проекта SAP
Управление изменениями в рамках проекта SAP Внедрение изменений и управление реакцией на изменение — это две важные задачи, с которыми сталкиваются компании в наше время. Способность изменять бизнес-процессы вносит непосредственный вклад в практический результат
ASAP, BPR и управление изменениями
ASAP, BPR и управление изменениями Когда компания выбирает методологию ASAP для внедрения SAP, успех проекта зависит от того, насколько быстро компания сможет внести изменения в свои бизнес-процессы в соответствии с лучшими в своем классе процессами, предусмотренными в SAP. При
Управление организационными изменениями
Управление организационными изменениями Помимо задач, связанных с непосредственным решением различных задач в рамках проекта внедрения SAP, в методологии ASAP особое значение придается вопросу управления изменениями, связанными с проектом SAP. Как уже упоминалось в главе
Поддержка организации управления изменениями
Поддержка организации управления изменениями Как уже упоминалось в предыдущей главе, организация управления изменениями включает в себя совокупность процессов, которые позволяют команде по управлению изменениями определять возможности и принимать решения в целях
Продолжение процесса управления организационными изменениями
Продолжение процесса управления организационными изменениями Как видно из обзора предыдущих этапов проекта, эта задача включает в себя совокупность процессов, которые помогают команде управления организационными изменениями диагностировать и управлять вопросами