Методы устранения ошибок
Если
говорить об укрупненной классификации
причин ошибок разработчиков любых
проектов, то их две:
-
небрежность и/или
невнимательность в работе исполнителей; -
недостаточно
высокая квалификация разработчика.
Поручение проектной
работы исполнителю, квалификация
которого недостаточно высока, является
ошибкой руководителя. Каждому исполнителю
следует поручать работу, соответствующую
уровню его квалификации. Ошибка в выборе
исполнителя может произойти из-за того,
что его квалификация не соответствует
занимаемой должности или ее оценка
неоправданно завышена, либо из-за
неправильной оценки руководителем
сложности поручаемой работы.
Отдельные
ошибки разработчика, связанные с
некорректным решением ранее не
встречавшихся ему сложных задач, вполне
возможны. Именно для их исправления его
работу контролируют специалисты более
высокой квалификации, в том числе
руководитель разработки, эксперт-метролог
и эксперт-стандартизатор.
Небрежность
в работе исполнителя
связана с его отношением к делу, поэтому
руководству есть смысл подумать о
наказании такого разработчика.
Что
касается невнимательности исполнителей
в ходе проектной работы, то она сама
часто является следствием других
исходных причин, к которым может
относиться спешка из-за сжатых сроков
работы или ее неудовлетворительной
организации (неритмичность), перегруженность
исполнителей из-за неправильной оценки
руководителем сложности работы и
недостаточного ее ресурсного обеспечения.
Анализ
причин ошибок представляет собой
отдельный вид экспертной работы и не
имеет непосредственного отношения к
метрологической
и стандартизационной экспертизе.
Можно
рекомендовать общие методы профилактики
и устранения ошибок, выявляемых
при метрологической и
стандартизационной экспертизе.
-
повышение
квалификации разработчиков, в том числе
для предупреждения типовых ошибок,
выявляемых
при метрологической и
стандартизационной экспертизе
(проведение обсуждений, семинаров,
технического обучения и др.); -
разработка
методических указаний или иных НД для
упорядочения работы проектировщиков
(особенно при внедрении новых стандартов
или при внесении изменений в действующие
стандарты); -
обеспечение
квалифицированного и ответственного
контроля с экономическим стимулированием
(положительным и отрицательным);
Целевое
повышение квалификации разработчиков
должно быть направлено на профилактику
типовых ошибок, для чего следует
использовать обобщенные результаты
экспертизы. Кроме того, для более
грамотного выполнения функциональной
экспертизы самими разработчиками
полезно снабдить их соответствующими
нормативно-методическими документами,
сделанными по результатам экспертизы
на основе обобщенных материалов.
Разработка и внедрение нормативных и
нормативно-методических материалов в
помощь экспертам и разработчикам для
самостоятельного проведения экспертизы
– одна из главных задач специалистов.
Квалификацию разработчиков можно
считать достаточно высокой, если они
будут самостоятельно решать тривиальные
задачи и приглашать экспертов в случаях,
когда их компетенция окажется
недостаточной.
Соседние файлы в папке Лекции МЭиНК
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Содержание
- Способы выявления и устранения программных сбоев
- Учебные материалы.. первая помощь в учебе.
- Устранение программных сбоев
- Первая помощь при сбоях: способы исправления
- Самостоятельно решать проблему?
Способы выявления и устранения программных сбоев
Как уже упоминалось, программные сбои — результат неправильной работы программного обеспечения, а это означает, что от них всегда можно избавиться, причем разными путями.
Какого-то единого или универсального способа избавления от программных сбоев нет и быть не может, поскольку разнообразие этих сбоев ничем не ограничено: чем сложнее программа и используемые устройства, тем сложнее и разнообразнее сбои.
Тем не менее попробовать избавиться от сбоев можно выполнением некоторых действий в такой последовательности.
- Анализ журнала событий. Любые события, несущие важные сведения, в том числе и ошибки программ, фиксируются в специальном системном журнале событий, который пользователь всегда может просмотреть и проанализировать. Чтобы получить к нему доступ, щелкните правой кнопкой мыши на значке Компьютер и в появившемся меню выберите пункт Управление. Далее откроется окно, в левой части которого необходимо раскрыть ветвь дерева Просмотр событий ► Журналы Windows. Все события отсортированы и разделены на пять групп, названия которых говорят сами за себя. Отследив порядок появления интересующего вас сбоя, можно вычислить его причину, а затем воспользоваться соответствующим способом его устранения.
- Исправление системного реестра. Чем сложнее программа, тем больше вероятность, что она активно работает с реестром: сохраняет в нем нужные ей данные, а также использует их для своей инициализации и работы. Поэтому, если какая-то из программ «случайно» произвела некорректные изменения в той части реестра, в которой хранились нужные для первой программы данные, это может стать причиной ее неработоспособности или появления непонятных ошибок. Выход из ситуации — запуск специализированной утилиты, которая устранит все ошибки в реестре.
- Замена драйвера. Немалую часть программных сбоев способны вызвать устаревшие драйверы устройств либо драйверы, которые пытаются расширить стандартную функциональность устройства, например включив возможность разгона видеокарты путем разблокировки механизма управления частотами. Если оборудование довольно новое, «правильный» драйвер всегда можно скачать с веб-сайта производителя этого оборудования.
- Переустановка программы. Вычислив источник появления программного сбоя, то есть программу, которая его инициирует, можно попробовать ее переустановить. Это действие способно дать эффект, особенно если программа долго работала без сбоев и проблемы начались лишь недавно. Если же программа сбоит постоянно, лучше отказаться от ее использования либо найти ее новую версию или альтернативу.
- Апгрейд программы. Программа, написанная для работы в операционной системе Windows ХР или даже Windows 98, изначально не подготовлена к работе в Windows 7/8. Поэтому, даже если запуск программы не был отвергнут системой из-за несовместимости, ее правильное функционирование будет под вопросом. Если причина именно в этом, лучшим решением будет переход на более новую версию программы либо замена ее альтернативным по функцио-нальности приложением.
- Запуск в режиме совместимости. Если вы перешли на операционную систему Windows 7/8, но по какой-то причине не можете купить другую версию программы, которая успешно работала в Windows ХР, а в новой системе отказывается это делать или функционирует со сбоями, можно попробовать запускать ее в специальном режиме. Так, начиная с версии Windows 7, операционная система позволяет запускать программу в режиме совместимости с более ранними операционными системами, вплоть до Windows 95, хотя полной совместимости добиться невозможно. Чтобы выбрать режим совместимости, щелкните правой кнопкой мыши на ярлыке с программой, перейдите на вкладку Совместимость и выберите из списка нужную позицию.
- Изменение прав доступа. Часто программные сбои и разного рода ошибки возникают в процессе работы программ в составе сети с доменом, когда у пользователя имеется самый простой набор прав доступа к ресурсам компьютера и сети. Большая часть программ, особенно непрофессионального уровня, не рассчитаны на подобное стечение обстоятельств и требуют максимального доступа к ресурсам. Выходом из этой ситуации является расширение прав доступа, например перевод пользователя в группу Опытные пользователи. Это может сделать только администратор сети или человек, знающий пароль администратора сети или локального администратора. Иногда Windows преднамеренно блокирует доступ к системному разделу диска, особенно к его корневой структуре. В этом случае в качестве рабочей папки программы можно использовать папку в любом другом, несистемном разделе диска.
- Перезапуск программы. Да, как ни странно, но закрытие программы с последующим ее открытием может устранить возникшую проблему. Например, при просмотре интернет-страниц, особенно активно использующих flash-технологии, браузер Internet Explorer (до 8-й версии программы) может настолько раздуть файл подкачки, что это будет мешать не только его работе, но и функционированию остальных запущенных программ.
В этом случае можно закрыть браузер и открыть его снова — должно помочь. Если же программа не реагирует на любые действия, в том числе на нажатия кнопки закрытия окна, следует открыть Диспетчер задач, найти проблемное приложение в списке программ на вкладке Процессы и нажать кнопку Завершить процесс, тем самым принудительно выгрузив его из памяти и освободив все ресурсы, которые программа на себя перетянула. К сожалению, другие интернет-браузеры также страдают подобным поведением, хотя и в меньшей степени.
Это далеко не полный список способов обнаружения и устранения причины, а следовательно, и самого программного сбоя. Решение той или иной проблемы часто возникает само собой, поскольку многие программы сами предлагают такие пути решения. Кроме того, элементарное закрытие и открытие программы также способно помочь. Не стоит забывать и об Интернете: форумные сообщества и просто любители пообщаться обязательно помогут решить возникшую проблему.
Источник
Учебные материалы.. первая помощь в учебе.
Введение
Данная работа посвящена описанию методов обнаружения и устранения ошибок, позволяющих существенно повысить качество программного обеспечения встраиваемых систем и сэкономить материально-временные ресурсы, затрачиваемые на отладку систем. Рассматриваемые методы без особого труда могут быть использованы при разработке самых разных проектов программного обеспечения встраиваемых систем, причем накопленный опыт полностью сохраняет свою ценность и при реализации других проектов и целевых технологий. Кроме того, они позволяют гарантировать простоту сопровождения, модификации и переноса созданных программ в устройства новых типов. Вкратце, рассматриваемые методы дают возможность не только совершенствовать существующие встроенные приложения и процессы разработки, но и гарантировать, что с распространением новых встраиваемых устройств у вас уже будет накоплен опыт, необходимый для разработки высокоэффективных приложений для этих технологий причем вовремя и в рамках выделенных средств.
Ни для кого не секрет, что отлаживать программы для встраиваемых систем чрезвычайно тяжело. Отладка сама по себе далеко не курорт, а отладка программного обеспечения встраиваемых систем предъявляет к тому же особые требования. Прежде всего, из встроенных систем очень трудно извлекать требуемую информацию. Процесс отладки, как правило, строится на основе выводимой приложением информации и соответствующей обратной связи со стороны программиста, а у программ встроенных систем нет возможности сделать распечатку изображений экрана, которой могут пользоваться разработчики другого типа программного обеспечения.
Из этой неприятной ситуации нужно как-то выходить. Одно из возможных решений подключение специального оборудования к модулю, представляющему собой набор аппаратных средств, для которых и пишется отлаживаемое программное обеспечение. Это специальное оборудование дает разработчику возможность увидеть, что происходит с его программным обеспечением. Например, так называемые мониторы памяти позволяют заносить информацию в отдельные области памяти, считывать в монитор содержимое памяти и использовать содержимое памяти монитора для анализа состояния системы в момент ее краха. Кроме того, встраиваемые системы могут отлаживаться с помощью систем моделирования, представляющих собой программные среды, в которых отлаживаемые программы исполняются так же, как они будут исполняться в целевой системе.
Системы моделирования обладают множеством достоинств. Обычно в их составе имеются отладчики и средства вывода информации на печать, однако системы моделирования это всего лишь имитаторы. Отлаживаемая программа может успешно исполняться в системе моделирования и быть полностью неработоспособной в реальных условиях. Так что системы моделирования это лишь частичное решение. Ошибки программного обеспечения вполне могут пройти мимо системы моделирования и всплыть в реальном оборудовании.
Именно в этом и скрыта главная проблема: как показано на рис. 1, исправление ошибок, которые выявляются не на этапе тестирования, а в процессе использования, обходится значительно дороже. Если ошибка найдена в программе для не-встраиваемых систем, то можно выпустить обновленную версию программы с исправлениями, стоимость таких обновлений, как правило, сравнительно невысокая. Если же ошибка найдена во встроенной системе, то для ее исправления необходим возврат и модификация самих устройств с этой системой. Стоимость такого возврата может достигать астрономических величин, и стать причиной разорения компаний.
Рис. 1. Стоимость устранения ошибок во встраиваемых системах
На мой взгляд, сроки и затраты на выявление и устранение ошибок для встраиваемых систем приблизительно удваиваются (из-за описанных выше трудностей). В свете таких немыслимых затрат любой метод, который изначально будет препятствовать появлению ошибок, имеет неоценимое значение. К счастью для разработчиков встраиваемых систем, для предотвращения ошибок можно использовать некоторые из новых технологий программной разработки. Наиболее рекомендуемые две из них: стандарты программирования и блочное тестирование.
Правда, оба этих метода сегодня не столько применяются, сколько прославляются. Практически каждый разработчик программного обеспечения согласен с их высокой ценностью, но пользуются ими единицы. Подобная непоследовательность объясняется в большинстве случаев двумя причинами. Прежде всего, многие считают следование стандартам программирования и блочное тестирование весьма утомительным делом. Учитывая, сколько времени и сил эти подходы позволяют сэкономить в будущем, разработчикам следовало бы немножко потерпеть и избежать огромных трудозатрат (и возможного отказа от проекта) впоследствии.
Разработчикам систем реального времени еще труднее они в дополнение ко всему должны решать проблемы, связанные с соблюдением различных временных зависимостей. В конце статьи мы рассмотрим трудности, возникающие при отладке систем реального времени, и познакомимся с некоторыми методами отладки, которые рассчитаны на преодоление этих трудностей и которые также могут быть использованы при разработке любого программного обеспечения.
Способы отладки программ
Отладка программ заключается в проверке правильности работы программы и аппаратуры. Программа, не содержащая синтаксических ошибок тем не менее может содержать логические ошибки, не позволяющие программе выполнять заложенные в ней функции. Логические ошибки могут быть связаны с алгоритмом программы или с неправильным пониманием работы аппаратуры, подключённой к портам микроконтроллера.
Встроенный в состав интегрированной среды программирования отладчик позволяет отладить те участки кода программы, которые не зависят от работы аппаратуры, не входящей в состав микросхемы микроконтроллера. Обычно это относится к вычислению математических выражений или преобразованию форматов представления данных.
Для отладки программ обычно применяют три способа: Пошаговая отладка программ с заходом в подпрограммы; Пошаговая отладка программ с выполнением подпрограммы как одного оператора; Выполнение программы до точки останова.
Пошаговая отладка программ заключается в том, что выполняется один оператор программы и, затем контролируются те переменные, на которые должен был воздействовать данный оператор.
Если в программе имеются уже отлаженные подпрограммы, то подпрограмму можно рассматривать, как один оператор программы и воспользоваться вторым способом отладки программ.
Если в программе существует достаточно большой участок программы, уже отлаженный ранее, то его можно выполнить, не контролируя переменные, на которые он воздействует. Использование точек останова позволяет пропускать уже отлаженную часть программы. Точка останова устанавливается в местах, где необходимо проверить содержимое переменных или просто проконтролировать, передаётся ли управление данному оператору.
Практически во всех отладчиках поддерживается это свойство (а также выполнение программы до курсора и выход из подпрограммы). Затем отладка программы продолжается в пошаговом режиме с контролем локальных и глобальных переменных, а также внутренних регистров микроконтроллера и напряжений на выводах этой микросхемы. Следуйте стандартам программирования!
Источник
Устранение программных сбоев
К сожалению, компьютерная техника часто подвергается поломкам, сбои в системе – не редкость, особенно у тех пользователей, которые работают в Интернете, где можно подхватить немало вирусов или шпионским программ – они могут значительно снизить работоспособность техники. Можно просто почитать статьи о настройке программного обеспечения – они больше расскажут вам о возможных проблемах. Существует несколько способов, благодаря которым можно наладить сбои программ, один из них — аутсорсинг программного обеспечения .
Первая помощь при сбоях: способы исправления
- Вначале следует проанализировать сбои для того, чтобы определить, какие из способов подойдут для решения данной проблемы. Так, например, есть программа-утилита WhatIsHang, благодаря которой можно узнать причину сбоя. Случается, что проблемы возникают из-за некорректного завершения рабочих процессов. Для этого также можно использоваться утилиту AppCrashView, которая просмотрит и проанализирует все отчеты об ошибках, которые выдаются системой.
- Отключение медленных и нестабильно работающих программ. Случается, что программа просто зависает – это не очень опасно, но если она тянет за собой всю ОС? Как известно, избыточное количество процессов просто тормозят систему, для чего следует применять утилиту Startup Booster. После этого можно удалить некоторые из процессов, которые, например, занимаются чисто обновлением программ. Есть такая программа, как AntiFreeze, которая необходима тогда, когда системный диспетчер задач перестает реагировать на ваши запросы. Правда, она не работает тогда, когда возникает некорректная работа драйверов.
- Убираем «остатки» драйверов и программ. Многие средства для удаления программ не очищают реестр, а потому эти «остатки» могут значительно тормозить все системы и используемые программы. Между прочим, Windows совершенно не заботит то, что многие применяемые ранее драйверы уже не имеют актуальности, а потому и не чистит их.
- Многие проблемы возникают из-за того, что установленные антивирусные программы не совместимы с системой. Это также возникает тогда, когда используются компоненты и утилиты от разных фирм, потому старайтесь устанавливать ПО одного производителя.
Самостоятельно решать проблему?
На самом деле, проблем по работе ПО может быть гораздо больше, как и причин, которые их вызывают – об этом в Интернете написаны статьи о настройке программного обеспечения. Именно потому так тяжело бывает порой найти основную из них, тем более что со временем такие сбои могут нарушить всю работу ПК, что в итоге может привести к ремонту. Именно потому многие предпочитают обращаться в специализированные компании, которые осуществляют услугу «аутсорсинг программного обеспечения».
Источник
Отладка программы — один их самых сложных этапов разработки программного обеспечения, требующий глубокого знания:
•специфики управления используемыми техническими средствами,
•операционной системы,
•среды и языка программирования,
•реализуемых процессов,
•природы и специфики различных ошибок,
•методик отладки и соответствующих программных средств.
Отладка — это процесс локализации и исправления ошибок, обнаруженных при тестировании программного обеспечения. Локализацией называют процесс определения оператора программы, выполнение которого вызвало нарушение нормального вычислительного процесса. Доя исправления ошибки необходимо определить ее причину, т. е. определить оператор или фрагмент, содержащие ошибку. Причины ошибок могут быть как очевидны, так и очень глубоко скрыты.
Вцелом сложность отладки обусловлена следующими причинами:
•требует от программиста глубоких знаний специфики управления используемыми техническими средствами, операционной системы, среды и языка программирования, реализуемых процессов, природы и специфики различных ошибок, методик отладки и соответствующих программных средств;
•психологически дискомфортна, так как необходимо искать собственные ошибки и, как правило, в условиях ограниченного времени;
•возможно взаимовлияние ошибок в разных частях программы, например, за счет затирания области памяти одного модуля другим из-за ошибок адресации;
•отсутствуют четко сформулированные методики отладки.
Всоответствии с этапом обработки, на котором проявляются ошибки, различают (рис. 10.1):
синтаксические ошибки — ошибки, фиксируемые компилятором (транслятором, интерпретатором) при выполнении синтаксического и частично семантического анализа программы; ошибки компоновки — ошибки, обнаруженные компоновщиком (редактором связей) при объединении модулей программы;
ошибки выполнения — ошибки, обнаруженные операционной системой, аппаратными средствами или пользователем при выполнении программы.
Синтаксические ошибки. Синтаксические ошибки относят к группе самых простых, так как синтаксис языка, как правило, строго формализован, и ошибки сопровождаются развернутым комментарием с указанием ее местоположения. Определение причин таких ошибок, как правило, труда не составляет, и даже при нечетком знании правил языка за несколько прогонов удается удалить все ошибки данного типа.
Следует иметь в виду, что чем лучше формализованы правила синтаксиса языка, тем больше ошибок из общего количества может обнаружить компилятор и, соответственно, меньше ошибок будет обнаруживаться на следующих этапах. В связи с этим говорят о языках программирования с защищенным синтаксисом и с незащищенным синтаксисом. К первым, безусловно, можно отнести Pascal, имеющий очень простой и четко определенный синтаксис, хорошо проверяемый при компиляции программы, ко вторым — Си со всеми его модификациями. Чего стоит хотя бы возможность выполнения присваивания в условном операторе в Си, например:
if (c = n) x = 0; /* в данном случае не проверятся равенство с и n, а выполняется присваивание с значения n, после чего результат операции сравнивается с нулем, если программист хотел выполнить не присваивание, а сравнение, то эта ошибка будет обнаружена только на этапе выполнения при получении результатов, отличающихся от ожидаемых */
Ошибки компоновки. Ошибки компоновки, как следует из названия, связаны с проблемами,
обнаруженными при разрешении внешних ссылок. Например, предусмотрено обращение к подпрограмме другого модуля, а при объединении модулей данная подпрограмма не найдена или не стыкуются списки параметров. В большинстве случаев ошибки такого рода также удается быстро локализовать и устранить.
Ошибки выполнения. К самой непредсказуемой группе относятся ошибки выполнения. Прежде всего они могут иметь разную природу, и соответственно по-разному проявляться. Часть ошибок обнаруживается и документируется операционной системой. Выделяют четыре способа проявления таких ошибок:
• появление сообщения об ошибке, зафиксированной схемами контроля выполнения машинных команд, например, переполнении разрядной сетки, ситуации «деление на ноль», нарушении адресации и т. п.;
•появление сообщения об ошибке, обнаруженной операционной системой, например, нарушении защиты памяти, попытке записи на устройства, защищенные от записи, отсутствии файла с заданным именем и т. п.;
•«зависание» компьютера, как простое, когда удается завершить программу без перезагрузки операционной системы, так и «тяжелое», когда для продолжения работы необходима перезагрузка;
•несовпадение полученных результатов с ожидаемыми.
Примечание. Отметим, что, если ошибки этапа выполнения обнаруживает пользователь, то в двух первых случаях, получив соответствующее сообщение, пользователь в зависимости от своего характера, степени необходимости и опыта работы за компьютером, либо попробует понять, что произошло, ища свою вину, либо обратится за помощью, либо постарается никогда больше не иметь дела с этим продуктом. При «зависании» компьютера пользователь может даже не сразу понять, что происходит что-то не то, хотя его печальный опыт и заставляет волноваться каждый раз, когда компьютер не выдает быстрой реакции на введенную команду, что также целесообразно иметь в виду. Также опасны могут быть ситуации, при которых пользователь получает неправильные результаты и использует их в своей работе.
Причины ошибок выполнения очень разнообразны, а потому и локализация может оказаться крайне сложной. Все возможные причины ошибок можно разделить на следующие группы:
•неверное определение исходных данных,
•логические ошибки,
•накопление погрешностей результатов вычислений (рис. 10.2).
Н е в е р н о е о п р е д е л е н и е и с х о д н ы х д а н н ы х происходит, если возникают любые ошибки при выполнении операций ввода-вывода: ошибки передачи, ошибки преобразования, ошибки перезаписи и ошибки данных. Причем использование специальных технических средств и программирование с защитой от ошибок (см.§ 2.7) позволяет обнаружить и предотвратить только часть этих ошибок, о чем безусловно не следует забывать.
Л о г и ч е с к и е о ш и б к и имеют разную природу. Так они могут следовать из ошибок, допущенных при проектировании, например, при выборе методов, разработке алгоритмов или определении структуры классов, а могут быть непосредственно внесены при кодировании модуля.
Кпоследней группе относят:
ошибки некорректного использования переменных, например, неудачный выбор типов данных, использование переменных до их инициализации, использование индексов, выходящих за границы определения массивов, нарушения соответствия типов данных при использовании явного или неявного переопределения типа данных, расположенных в памяти при использовании нетипизированных переменных, открытых массивов, объединений, динамической памяти, адресной арифметики и т. п.;
ошибки вычислений, например, некорректные вычисления над неарифметическими переменными, некорректное использование целочисленной арифметики, некорректное преобразование типов данных в процессе вычислений, ошибки, связанные с незнанием приоритетов выполнения операций для арифметических и логических выражений, и т. п.;
ошибки межмодульного интерфейса, например, игнорирование системных соглашений, нарушение типов и последовательности при передачи параметров, несоблюдение единства единиц измерения формальных и фактических параметров, нарушение области действия локальных и глобальных переменных;
другие ошибки кодирования, например, неправильная реализация логики программы при кодировании, игнорирование особенностей или ограничений конкретного языка программирования.
На к о п л е н и е п о г р е ш н о с т е й результатов числовых вычислений возникает, например, при некорректном отбрасывании дробных цифр чисел, некорректном использовании приближенных методов вычислений, игнорировании ограничения разрядной сетки представления вещественных чисел в ЭВМ и т. п.
Все указанные выше причины возникновения ошибок следует иметь в виду в процессе отладки. Кроме того, сложность отладки увеличивается также вследствие влияния следующих факторов:
опосредованного проявления ошибок;
возможности взаимовлияния ошибок;
возможности получения внешне одинаковых проявлений разных ошибок;
отсутствия повторяемости проявлений некоторых ошибок от запуска к запуску – так называемые стохастические ошибки;
возможности устранения внешних проявлений ошибок в исследуемой ситуации при внесении некоторых изменений в программу, например, при включении в программу диагностических фрагментов может аннулироваться или измениться внешнее проявление ошибок;
написания отдельных частей программы разными программистами.
Методы отладки программного обеспечения
Отладка программы в любом случае предполагает обдумывание и логическое осмысление всей имеющейся информации об ошибке. Большинство ошибок можно обнаружить по косвенным признакам посредством тщательного анализа текстов программ и результатов тестирования без получения дополнительной информации. При этом используют различные методы:
ручного тестирования;
индукции;
дедукции;
обратного прослеживания.
Метод ручного тестирования. Это — самый простой и естественный способ данной группы. При обнаружении ошибки необходимо выполнить тестируемую программу вручную, используя тестовый набор, при работе с которым была обнаружена ошибка.
Метод очень эффективен, но не применим для больших программ, программ со сложными вычислениями и в тех случаях, когда ошибка связана с неверным представлением программиста о выполнении некоторых операций.
Данный метод часто используют как составную часть других методов отладки.
Метод индукции. Метод основан на тщательном анализе симптомов ошибки, которые могут проявляться как неверные результаты вычислений или как сообщение об ошибке. Если компьютер просто «зависает», то фрагмент проявления ошибки вычисляют, исходя из последних полученных результатов и действий пользователя. Полученную таким образом информацию организуют и тщательно изучают, просматривая соответствующий фрагмент программы. В результате этих действий выдвигают гипотезы об ошибках, каждую из которых проверяют. Если гипотеза верна, то детализируют информацию об ошибке, иначе — выдвигают другую гипотезу. Последовательность выполнения отладки методом индукции показана на рис. 10.3 в виде схемы алгоритма.
Самый ответственный этап — выявление симптомов ошибки. Организуя данные об ошибке, целесообразно записать все, что известно о ее проявлениях, причем фиксируют, как ситуации, в которых фрагмент с ошибкой выполняется нормально, так и ситуации, в которых ошибка проявляется. Если в результате изучения данных никаких гипотез не появляется, то необходима дополнительная информация об ошибке. Дополнительную информацию можно получить, например, в результате выполнения схожих тестов.
В процессе доказательства пытаются выяснить, все ли проявления ошибки объясняет данная гипотеза, если не все, то либо гипотеза не верна, либо ошибок несколько.
Метод дедукции. По методу дедукции вначале формируют множество причин, которые могли бы вызвать данное проявление ошибки. Затем анализируя причины, исключают те, которые противоречат имеющимся данным. Если все причины исключены, то следует выполнить дополнительное тестирование исследуемого фрагмента. В противном случае наиболее вероятную гипотезу пытаются доказать. Если гипотеза объясняет полученные признаки ошибки, то ошибка найдена, иначе — проверяют следующую причину (рис. 10.4).
Метод обратного прослеживания. Для небольших программ эффективно применение метода обратного прослеживания. Начинают с точки вывода неправильного результата. Для этой точки строится гипотеза о значениях основных переменных, которые могли бы привести к получению имеющегося результата. Далее, исходя из этой гипотезы, делают предложения о значениях переменных в предыдущей точке. Процесс продолжают, пока не обнаружат причину ошибки.
Первый вариант опубликован 2007-09-01 и назывался : Методы поиска и устранения неисправностей. А также причин неработоспособности в РЭА.
Здесь я планирую описать практические методы поиска и устранения неисправностей в электронике, по возможности, без привязки к конкретному оборудованию. Под причинами неработоспособности подразумеваются выход из строя элемента, ошибки разработчиков, монтажников и т.д. Методы являются взаимосвязанными между собой, и почти всегда необходимо их комплексное применение. Порой поиск очень тесно связан с устранением. В процессе работы над текстом стало выясняться, что методы очень взаимосвязаны и зачастую имеют схожие черты. Может быть, можно сказать, что методы дублируют друг друга. Тем не менее, было принято решение не объединять схожие методы в один, чтобы осветить проблемы с разных сторон и более полно описать процесс поиска и устранения неисправности.
Основные концепции поиска неисправностей.
1.Действие не должно наносить вреда исследуемому устройству.
2.Действие должно приводить к прогнозируемому результату: — выдвижение гипотезы о исправности или неисправности блока, элемента и пр. — подтверждение или опровержение выдвинутой гипотезы и, как следствие, локализации неисправности;
3. Необходимо различать вероятную неисправность и подтвержденную (обнаруженную неисправность), выдвинутую гипотезу и подтвержденную гипотезу.
4. Необходимо адекватно оценивать ремонтопригодность изделия. Например, платы с элементами в корпусе BGA имеют очень низкую ремонтопригодность вследствие невозможности или ограниченной возможности применения основных методов диагностики.
5. Нужно адекватно оценивать выгодность и необходимость ремонта. Зачастую ремонт не выгоден с точки зрения затрат, но необходим с точки зрения отработки технологии, изучения изделия или по каким-то иным причинам.
Схема описания методов:
- Суть метода
- Возможности метода
- Достоинства метода
- Недостатки метода
- Применение метода
1. Выяснения истории появления неисправности.
Суть метода: История появления неисправности очень много может рассказать о локализации неисправности, о том, какой модуль является источником неработоспособности системы, а какие модули вышли из строя вследствие первоначальной неисправности, о типе неисправного элемента. Также знание истории появления неисправности позволяет сильно сократить время тестирования устройства, повысить качество ремонта, надежность исправленного оборудования. Выяснение истории позволяет выяснить, не является ли неисправность результатом внешнего воздействия, как то: климатические факторы (температура, влажность, запыленность и пр.), механические воздействия, загрязнение различными веществами и пр.
Возможности метода: Метод позволяет очень оперативно выдвинуть гипотезу о локализации неисправности.
Достоинства метода:
- Нет необходимости знать тонкости работы изделия;
- Сверхоперативность;
- Не требуется наличие документации.
Недостатки метода:
- Необходимость получить информацию о событиях, растянутых во времени, при которых вы не присутствовали, неточность и недостоверность предоставляемой информации;
- Требует подтверждения и уточнения другими методами; в некоторых случаях велика вероятность ошибки и неточность локализации;
Применение метода:
- Если неисправность сначала проявлялась редко, а затем стала проявляться все чаще ( в течении недели или нескольких лет), то, скорее всего, неисправен электролитический конденсатор, электронная лампа или силовой полупроводниковый элемент, чрезмерный разогрев которого приводит к ухудшению его характеристик.
- Если неисправность появилась в результате механического воздействия, то, вполне вероятно, ее удастся выявить внешним осмотром блока.
- Если неисправность появляется при незначительном механическом воздействии, то ее локализацию следует начать с использования механических воздействий на отдельные элементы.
- Если неисправность появилась после каких-либо действий (модификация, ремонт, доработка и др.) над прибором, то следует обратить особое внимание на часть изделия, в которой производились действия. Следует проконтролировать правильность этих действий.
- Если неисправность появляется после климатических воздействий, воздействия влажности, кислот, паров, электромагнитных помех, бросков питающего напряжения, необходимо проверить соответствие эксплуатационных характеристик изделия в целом и его компонентов условиям работы. При необходимости — принять соответствующие меры. (изменение условий работы или изменения в изделии, в зависимости от задач и возможностей )
- О локализации неисправности очень много могут рассказать проявления неисправности на разных этапах ее развития.
2. Внешний осмотр.
Суть метода: Внешним осмотром зачастую пренебрегают, но именно внешний осмотр позволяет локализовать порядка 50% неисправностей, особенно в условиях мелкосерийного производства. Внешний осмотр в условиях производства и ремонта имеет свою специфику.
Возможности метода:
- Метод позволяет сверхоперативно выявить неисправность и локализовать ее с точностью до элемента при наличии внешнего проявления.
Достоинства метода:
- Сверхоперативность;
- Точная локализация;
- Требуется минимум оборудования;
- Не требуется наличие документации (или наличие в минимальном количестве).
Недостатки метода:
- Позволяет выявлять только неисправности, имеющие проявление во внешнем виде элементов и деталей изделия;
- Как правило, требует разборки изделия, его частей и блоков;
- Требуется опыт исполнителя и отличное зрение.
Применение метода:
- В условиях производства особое внимание необходимо уделять качеству монтажа. Качество монтажа включает в себя: правильность размещение элементов на плате, качество паянных соединений, целостность печатных проводников, отсутствие инородных включений в материал платы, отсутствие замыканий (порой замыкания видны только под микроскопом или под определенным углом ), целостность изоляции на проводах, надежное крепление контактов в разъемах. Иногда неудачный конструктив провоцирует замыкания или обрывы.
- В условиях ремонта следует выяснить, работало ли устройство когда-нибудь правильно. Если не работало(случай заводского дефекта), то следует проверить качество монтажа.
- Если же устройство работало нормально, но вышло из строя (случай собственно ремонта), то следует обратить внимание на следы тепловых повреждений электронных элементов, печатных проводников, проводов, разъемов и пр. Также при осмотре необходимо проверить целостность изоляции на проводах, трещины от времени, трещины в результате механического воздействия, особенно в местах, где проводники работают на перегиб (например, слайдеры и флипы мобильных телефонов). Особое внимание следует обратить на наличие загрязнений, пыли , вытекания электролита и запах(горелого, плесени, фекалий и пр.). Наличие загрязнений может являться причиной неработоспособности РЭА или индикатором причины неисправности ( например, вытекание электролита).
- Осмотр печатного монтажа требует хорошего освещения. Желательно применение увеличительного стекла. Как правило,замыкания между пайками и некачественные пайки видны только под определенным углом зрения и освещения.
Естественно, во всех случаях следует обратить внимание на любые механические повреждения корпуса, электронных элементов, плат, проводников, экранов и пр. пр.
3. Прозвонка.
Суть метода: Суть метода в том, что при помощи омметра, в том или ином варианте, проверяется наличие необходимых связей и отсутствие лишних соединений (замыканий).
Возможности метода:
- Предупреждение неисправностей при производстве, контроль качества монтажа;
- Проверка гипотезы о наличии неисправности в конкретной цепи;
Достоинства метода:
- простота;
- не требуется высокая квалификация исполнителя;
- высокая надежность;
- точная локализация неисправности;
Недостатки метода:
- высокая трудоемкость;
- ограничения при проверке плат со смонтированными элементами и подключенных жгутов, элементов в составе схемы.
- необходимость получить прямой доступ к контактам и элементам.
Применение метода:
- На практике, как правило, достаточно проверить наличие необходимых связей. Отсутствие замыканий проверяется только по цепям питания.
- Отсутствие лишних связей также обеспечивается технологическими методами: маркировка и нумерация проводов в жгуте.
- Проверку на наличие лишних связей проводят в случае, когда есть подозрение на конкретные проводники, или подозрение на конструкторскую ошибку.
- Проводить проверку на наличие лишних связей чрезвычайно трудоемко. В связи с этим ее проводят, как один из заключительных этапов, когда возможная область замыкания (например, нет сигнала в контрольной точке) локализована другими методами.
- Очень точно локализовать замыкание можно при помощи миллиомметра, с точностью до нескольких сантиметров.
- Хотя данная методика имеет определенные недостатки, она очень широко применяется в условиях мелкосерийного производства, в связи со своей простотой и эффективностью.
- Прозванивать лучше по таблице прозвонки, составленной на основании схемы электрической принципиальной. В этом случае исправляются возможные ошибки конструкторской документации и обеспечивается отсутствие ошибок в самой прозвонке.
4. Снятие рабочих характеристик
Суть метода. При применении этого метода изделие включается в рабочих условиях или в условиях, имитирующих рабочие. И проверяют характеристики, сравнивая их с необходимыми характеристиками исправного изделия или теоретически рассчитанными. Также возможно и снятие характеристик отдельного блока, модуля, элемента в изделии.
Возможности метода:
- Позволяет оперативно диагностировать изделие в целом или отдельный блок;
- Позволяет примерно оценить расположение неисправности, выявить функциональный блок, работающий неправильно, в случае, если изделие работает неправильно;
Достоинства метода:
- Достаточно высокая оперативность;
- Точность, адекватность;
- Оценка изделия в целом;
Недостатки метода:
- Необходимость специализированного оборудования или, как минимум, необходимость собрать схему подключения;
- Необходимость стандартного оборудования;
- Необходимость достаточно высокой квалификации исполнителя ;
- Необходимо знать принципы работы прибора, состав прибора, его блок-схему (для локализации неисправности).
Применение метода:Например :
- В телевизоре проверяют наличие изображения и его параметры, наличие звука и его параметры, энергопотребление, тепловыделение. По отклонению тех или иных параметров судят о исправности функциональных блоков.
- В мобильном телефоне на тестере проверяют параметры RF тракта и по отклонению тех или иных параметров судят о исправности функциональных блоков.
- Естественно, необходимо быть уверенным в исправности всех внешних блоков и правильности входных сигналов. Для этого работу изделия (элемента, блока) сравнивают с работой исправного в этих же условиях и в этой схеме включения. Имеется в виду не теоретически такая же схема, а практически это же «железо». Или нужно сравнить все входные сигналы.
5. Наблюдение прохождения сигналов по каскадам.
Суть метода: При помощи измерительной аппаратуры (осциллограф, тестер, анализатор спектра и др.) наблюдают правильность распространения сигналов по каскадам и цепям устройства. Для этого проводят измерения характеристик сигналов в контрольных точках.
Возможности метода:
- оценка работоспособности изделия в целом;
- оценка работоспособности по каскадам и функциональным блокам;
Достоинства метода:
- высокая точность локализации неисправности;
- адекватность оценки состояния изделия в целом и по каскадам;
Недостатки метода:
- большая затрудненность оценки цепей с обратной связью;
- необходимость высокой квалификации исполнителя;
- трудоемкость;
- неоднозначность результата при неправильном использовании;
Применение метода:
- В схемах с последовательным расположением каскадов пропадание правильного сигнала в одной из контрольных точек говорит о возможной неисправности либо выхода, либо замыкания по входу, либо о неисправности связи.
- В начале вычленяют встроенные источники сигналов (тактовые генераторы, датчики, модули питания и пр.) и последовательно находят узел, в котором сигнал не соответствует правильному, описанному в документации или определенному при помощи моделирования.
- После проверки правильности функционирования встроенных источников сигналов на вход (или входы) подают испытательные сигналы и вновь контролируют правильность их распространения и преобразования. В ряде случаев для более эффективного применения метода требуется временная модификация схемы, т.е. если необходимо и возможно — разрыв цепей обратной связи, разрыв цепей связи входа и выхода подозреваемых каскадов
.
Рис.1 Временная модификация устройства для устранения неоднозначности нахождения неисправности. Крестиками обозначен временный обрыв связей.
- В цепях с обратными связями очень тяжело получить однозначные результаты.
6.Сравнение с исправным блоком.
Суть метода: Заключается в том, что сравниваются различные характеристики заведомо исправного изделия и неисправного. По отличиям внешнего вида, электрических сигналов, электрического сопротивления судят о локализации неисправности. Возможности метода:
- Оперативная диагностика в комбинации с другими методами;
- Возможность ремонта без документации.
Достоинства метода:
- Оперативный поиск неисправностей;
- Нет необходимости использовать документацию;
- Исключает ошибки моделирования и документации;
Недостатки метода:
- Необходимость в наличии исправного изделия;
- Необходимость в комбинации с другими методами
Применение метода: Сравнение с исправным блоком — очень эффективный метод, потому что документированны не все характеристики изделия и сигналы не во всех узлах схемы. Необходимо начать сравнение со сравнения внешнего вида, расположения элементов и конфигурации проводников на плате, отличие в монтаже говорит о том , что конструктив изделия был изменен и, вполне вероятно, допущена ошибка. Затем сравнивают различные электрические характеристики. Для сравнения электрических характеристик смотрят сигналы в различных точках схемы, работу прибора в различных условиях , в зависимости от характера проявления неисправности. Достаточно эффективно измерять электрическое сопротивления между различными точка (метод периферийного сканирования).
7.Моделирование.
Суть метода: Моделируется поведение исправного и неисправного устройства и на основе моделирования выдвигается гипотеза о возможной неисправности, и затем гипотеза проверяется измерениями. Метод применяется в комплексе с другими методами для повышения их эффективности.
Возможности метода:
- Оперативное и адекватное выдвижение гипотезы о расположении неисправности;
- Предварительная проверка гипотезы о расположении неисправности.
Достоинства метода:
- Возможность работать с исчезающими неисправностями,
- Адекватность оценки.
Недостатки метода:
- необходима высокая квалификация исполнителя,
- необходима комбинация с другими методами
Применение метода: При устранении периодически проявляющейся неисправности необходимо применять моделирование для выяснения — мог ли заменяемый элемент провоцировать данную неисправность. Для моделирования необходимо представлять принципы работы оборудования и порой знать даже тонкости работы.
8.Разбиение на функциональные блоки.
Суть метода: Для предварительной локализации неисправности весьма эффективно разбить устройство на функциональные блоки. Надо учитывать, что зачастую конструкторское разбиение на блоки не является эффективным с точки зрения диагностики, так как один конструктивный блок может содержать несколько функциональных блоков или один функциональный блок может быть конструктивно выполнен в виде нескольких модулей. С другой стороны, конструктивный блок гораздо проще заменить, что позволяет определить, в каком конструктивном блоке находится неисправность.
Возможности метода:
- Позволяет оптимизировать применение других методов;
- Позволяет быстро определить область расположения неисправности;
- Позволяет работать со сложными неисправностями
Достоинства метода:
- Ускоряет процесс поиска неисправности;
Недостатки метода:
- Необходимо глубокое знание схемотехники изделия;
- Необходимо время для тщательного анализа прибора
Применение метода: Возможны два варианта :
- Если изделие состоит из блоков(модулей, плат) и возможна их быстрая замена, то, по очереди меняя блоки, находят тот, при замене которого неисправность пропадает;
- В другом варианте – анализируя документацию, составляют функциональную схему прибора, на основе функциональной схемы моделируют (как правило, мысленно ) работу изделия и выдвигают гипотезу о расположении неисправности.
9. Временная модификация схемы.
Суть метода: Для исключения взаимного влияния и для устранения неоднозначности в измерениях иногда приходится изменять схему изделия: обрывать связи, подключать дополнительные связи, выпаивать или впаивать элементы.
Возможности метода:
- Локализация неисправности в цепях с ОС;
- Точная локализация неисправности;
- Исключение взаимного влияния элементов и цепей.
Достоинства метода:
- Позволяет уточнить расположение неисправности.
Недостатки метода:
- Необходимость модифицировать систему
- Необходимость знания тонкостей работы устройства
Применение метода: Частичное отключение цепей применяется в следующих случаях:
- когда цепи оказывают взаимное влияние и неясно, какая из них является причиной неисправности;
- когда неисправный блок может вывести из строя другие блоки;
- когда есть предположение, что не правильная/неисправная цепь блокирует работу системы.
Следует с особой осторожностью отключать цепи защиты и цепи отрицательной обратной связи, т.к. их отключение может привести к значительному повреждению изделия. Отключение цепей обратной связи может приводить к полному нарушению режима работы каскадов и в результате не дать желаемого результата. Размыкание цепе ПОС в генераторах естественно приводит к срыву генерации, но может позволить снять характеристики каскадов.
10. Включение функционального блока вне системы, в условиях, моделирующих систему.
Суть метода: По сути метод является комбинацией методов : Разбиение на функциональные блоки и Снятие внешних рабочих характеристик. При обнаружении неисправностей «подозреваемый» блок проверяется вне системы, что позволяет либо сузить круг поиска , если блок исправен, либо локализовать неисправность в пределах блока, если блок неисправен.
Возможности метода:
- проверка гипотезы о работоспособности той или иной части системы
Достоинства метода:
- возможность испытания и ремонта функционального блока без наличия системы.
Недостатки метода:
- необходимость собирать схему проверки.
Применение метода: При применении данного метода необходимо следить за корректностью создаваемых условий и применяемых тестов. Блоки могут быть плохо согласованный между собой на стадии разработки.
11.Предварительная проверка функциональных блоков.
Суть метода: Функциональный блок предварительно проверяется вне системы, на специально изготовленном стенде (рабочем месте). При ремонте данный метод имеет смысл,если для блока требуется не слишком много входных сигналов или, иначе говоря, не слишком трудно имитировать систему. Например, этот метод имеет смысл применять при ремонте блоков питания. Возможности метода:
- Проверка гипотезы о работоспособности блока;
- Предупреждение возможных неисправностей при сборке больших систем.
Достоинства метода:
- Возможность проверки основных характеристик блока без мешающих воздействий;
- Возможность предварительной проверки блоков.
Недостатки метода:
- Необходимость собирать схему проверки
Применение метода: Очень широко применяется для профилактики неисправностей системы в условиях производства новых изделий.
12. Метод замены.
Суть метода: Подозреваемый блок/компонент заменяется на заведомо исправный, и проверяется функционирование системы. По результатам проверки судят о правильности гипотезы в отношении неисправности.
Возможности метода:
- Проверка гипотезы о исправности или не исправности блока или элемента.
Достоинства метода:
- Оперативность.
Недостатки метода:
- Необходимость наличия блока для замены.
Применение метода: Возможны несколько случаев: когда поведение системы не изменилось, это означает, что гипотеза неверна; когда все неисправности в системе устранены, значит. неисправность действительно локализована в замененном блоке; когда исчезла часть дефектов, это может означать, что устранена только вторичная неисправность и исправный блок вновь сгорит под воздействием первичного дефекта системы. В этом случае, возможно, лучшим решением будет вновь поставить замененный блок (если это возможно и целесообразно) и продолжить поиск неисправностей с тем. чтобы устранить именно первопричину. Например, неисправность блока питания может привести к неудовлетворительной работе нескольких блоков, один из которых выйдет из строя в результате перенапряжения.
13. Проверка режима работы элемента.
Суть метода: Сравнивают значения токов и напряжений в схеме с предположительно правильными. Их можно найти в документации, рассчитать при моделировании, измерить при исследовании исправного блока. На основании этого делают заключение о исправности элемента.
Возможности метода:
- Локализация неисправности с точностью до элемента.
Достоинства метода:
- Точность
Недостатки метода:
- Медленность
- Требуется высокая квалификация исполнителя;
Применение метода:
- Проверяют правильность логических уровней цифровых схем (соответствие стандартам, а также сравнивают с обычными, типичными уровнями);
- проверяют падения напряжений на диодах, резисторах (сравнивают с расчетным или со значениями в исправном блоке);
- Измеряют напряжения и токи в контрольных точках.
14. Провоцирующие воздействие.
Суть метода: Повышение или понижение температуры, влажности, механическое воздействие . Использование подобных воздействий очень эффективно для обнаружения пропадающих неисправностей.
Возможности метода:
- Обнаружение пропадающих неисправностей.
Достоинства метода:
- Соломинка для утопающего .
- В некоторых случаях достаточно воздействовать руками или отверткой.
Недостатки метода:
- Зачастую необходимо специальное оборудование.
Применение метода: Как правило, следует начать с постукивания по элементам. Попробовать прикоснуться к элементам и жгутам. Нагреть плату под лампой. В более сложных случаях применяют специальные методы охлаждения или климатические камеры.
15. Проверка температуры элемента.
Суть метода проста, любым измерительным прибором (или пальцем) нужно оценить температуру элемента, или сделать вывод о температуре элемента по косвенным признакам (цвета побежалости, запах горелого и пр.). На основании этих данных делают вывод о возможной неисправности элемента.
Применение метода: В общем, все просто и понятно, сложность возникает при оценке высоковольтных цепей. И не всегда бывает понятно, находится ли элемент в штатном режиме или перегревается. В этом случае нужно сравнить с исправным изделием.
16. Выполнение тестовых программ.
Суть метода: На работающей системе выполняется тестовая программа, которая взаимодействует с различными компонентами системы и предоставляет информацию о их отклике, либо система под управлением тестовой программы управляет периферийными устройствами, и оператор наблюдает отклик периферийных устройств, либо тестовая программа позволяет наблюдать отклик периферийных устройств на тестовое воздействие (нажатие клавиши, реакция датчика температуры на изменение температуры и пр.).
Достоинства метода: К достоинствам метода следует отнести очень быструю оценку по критерию работает — не работает.
Недостатки метода: Метод имеет существенные недостатки, т.к. для исполнения тестовой программы ядро системы должно находиться в исправном состоянии, неправильный отклик не позволяет точно локализовать неисправность ( может быть неисправна как периферия, так и ядро системы, так и тест-программа).
Применение метода: Метод применим только для заключительного тестирования и устранения очень мелких недоработок.
17. Пошаговое исполнение команд.
Суть метода: Применяя специальное оборудование, микропроцессорную систему переводят в режим потактного (пошагового) исполнения инструкций (машинных кодов). При каждом шаге проверяют состояние шин (данных, адресов, управления и пр. ) и, сравнивая с моделью или с исправной системой, делают выводы о работе узлов устройства. Этот метод можно классифицировать как одну из разновидностей «метода исполнения тестовых программ», но применение метода возможно на почти неработоспособной системе.
Достоинства метода:
- Возможна отладка почти неработающей системы;
- Низкая стоимость необходимого оборудования.
Недостатки метода:
- Очень большая трудоемкость.
- Высокая квалификация исполнителя.
Применение метода: Метод очень эффективен для отладки микропроцессорных систем на стадии разработки.
18. Тестовые сигнатуры.
Суть метода: При помощи специального оборудования определяют состояние шин микропроцессорного устройства в штатном режиме работы на каждом шаге программы (или тестовой программы). Можно сказать, что это вариант пошагового выполнения программ, только более быстрый (за счет применения специального оборудования).
Достоинства метода:
- Возможна отладка почти неработающей системы
Недостатки метода:
- Большая трудоемкость.
- Высокая квалификация исполнителя.
Применение метода: Метод очень эффективен для отладки микропроцессорных систем на стадии разработки.
19.«Выход на вход».
Суть метода: Если изделие/система имеет выход (множество выходов) и имеет вход (множество входов) и вход/выход могут работать в дуплексном режиме, то возможна проверка системы,в которой сигнал с выхода через внешние связи подается на вход. Анализируется наличие/отсутствие сигнала, его качество и по результатам дается оценка о работоспособности соответствующих цепей.
Достоинства метода:
- Очень высокая скорость оценки работоспособности
- Минимум дополнительного оборудования
- Недостатки метода:
- Ограниченность применения
Применение метода:
- Применяется для заключительной проверки систем управления. Может, где-то еще.
20.Типовые неисправности.
Суть метода: На основании прошлого опыта ремонта конкретного изделия составляется список проявления неисправности и соответствующего неисправного элемента. Метод основан на том, что в массовых изделиях имеются слабые места, недоработки , которые, как правило, и приводят к выходу изделий из строя. Так же к этому методу стоит отнести и предположение о выходе того или иного элемента из строя на основании показателей надежности .
Достоинства метода:
- Высокая скорость
- Не слишком высокая квалификация исполнителя
Недостатки метода:
- Не применим при отсутствии статистики неисправностей;
- Требует подтверждения гипотезы другими методами.
Применение метода: Большинство специалистов держат статистику и симптомы неисправностей в голове. Я встречал попытки систематизированного изложения в «Сервис мануалах» (в документации по ремонту) фирмы Нокиа.
21. Анализ влияния неисправности.
Суть метода: На основании имеющейся информации о проявлении неисправности и предпосылки о том, что все проявления вызваны одной неисправностью, проводят анализ устройства. В этом анализе строят «дерево» взаимных влияний блоков (элементов) и находят блок (элемент), неисправность которого могла вызвать все (большинство) проявления. Если решения нет, собирают дополнительную информацию.
Достоинство и недостатки: По мере сбора и получения информации ее необходимо постоянно анализировать с точки зрения этого метода. Метод необходим как воздух. Без него — никуда.
Применение метода: Например, простейший случай — устройство совсем не включается. Нет нагрева, посторонних звуков, нет запаха горелого. При выдвижении гипотезы необходимо предполагать минимальную причину и минимальный вред — это сгоревший предохранитель. Проверяем предохранитель. В случае исправности предохранителя продолжаем собирать информацию. Ключевой принцип — это предположение о минимальности причины.
22. Периферийное сканирование.
Суть метода: Измеряют сопротивление между контрольными точками. От прозвонки отличается тем, что нас интересует значение сопротивления, а не только наличие или отсутствие связи. Термин «Контрольная точка» применен в широком смысли. Контрольные точки может выбирать сам исполнитель.
Достоинства метода:
- Возможность автоматизированного контроля по критерию «годен — не годен»
- Возможность внутрисхемной проверки элементов
- Недостатки метода:
- Необходим образец или база данных о сопротивлениях в исправном блоке
- Теоретическое предположение о правильном значении сопротивления высказать трудно, особенно если схема сложная и развлетвленная.
Применение метода: Для измерения сопротивления необходимо применять оборудование, исключающее выход из строя устройства, в результате измерений. Можно применять как тестер в условиях ремонта, так и автоматы в составе большой производственной линии.


