Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Билет №13 Отладчик: что такое, основные функции и принципы.

Поиск

Отла́дчик(деба́ггер,англ.debugger) — компьютерная программа, предназначенная для поиска ошибок в других программах. Отладчик позволяет выполнять пошаговую трассировку, отслеживать, устанавливать или изменять значения переменных в процессе выполнения кода, устанавливать и удалять контрольные точки или условия остановки и т.д.

//со слов Славы Функции: позволяет пошагово выполнять другую программу, просматривать значения переменных, стек вызовов, одним словом состояние программы)

Принципы: точки останова по условию (срабатывают только когда условие истинно), точки останова с указанным количеством срабатываний, многопоточные отладчики...

отладчик в основном нужен для просмотра значений переменных. пошаговое выполнение - это вообще крайний случай, ибо очень неэффективный//

 

Билет №14 Прочие средства отладки: профилировщики, дизассемблеры, сниферы сетевого трафика, сниферы аппаратных интерфейсов. Привести примеры использования.

Дизассе́мблер — транслятор, преобразующий машинный код, объектный файл или библиотечные модули в текст программы на языке ассемблера.

По режиму работы с пользователем делятся на

· Автоматические

· Интерактивные

Примером автоматических дизассемблеров может служить Sourcer. Такие дизассемблеры генерируют готовый листинг, который можно затем править в текстовом редакторе. Пример интерактивного — IDA. Он позволяет изменять правила дизассемблирования и является весьма удобным инструментом для исследования программ.

Дизассемблеры бывают однопроходные и многопроходные. Основная трудность при работе дизассемблера — отличить данные от машинного кода, поэтому на первых проходах автоматически или интерактивно собирается информация о границах процедур и функций, а на последнем проходе формируется итоговый листинг. Интерактивность позволяет улучшить этот процесс, так как просматривая дамп дизассемблируемой области памяти, программист может сразу выделить строковые константы, дать содержательные имена известным точкам входа, прокомментировать разобранные им фрагменты программы.

Чаще всего дизассемблер используют для анализа программы (или ее части), исходный текст которой неизвестен — с целью модификации, копирования или взлома. Реже — для поиска ошибок (багов) в программах и компиляторах, а также для анализа и оптимизации создаваемого компилятором машинного кода.

Обычно однопроходный дизассемблер (как и построчный ассемблер) является составной частью отладчика.

Профилирование — сбор характеристик работы программы, таких как время выполнения отдельных фрагментов (обычно подпрограмм), число верно предсказанных условных переходов, число кэш промахов и т. д. Инструмент, используемый для анализа работы, называют профилировщиком. Обычно выполняется совместно с оптимизацией программы.

Характеристики могут быть аппаратными (время) или вызванные программным обеспечением (функциональный запрос). Инструментальные средства анализа программы чрезвычайно важны для того, чтобы понять поведение программы. Проектировщики ПО нуждаются в таких инструментальных средствах, чтобы оценить, как хорошо выполнена работа. Программисты нуждаются в инструментальных средствах, чтобы проанализировать их программы и идентифицировать критические участки программы.

Это часто используется, чтобы определить, как долго выполняются определенные части программы, как часто они выполняются, или генерировать граф вызовов (Call Graph). Обычно эта информация используется, чтобы идентифицировать те участки программы, которые работают больше всего. Эти трудоёмкие участки могут быть оптимизированы, чтобы выполняться быстрее.

Анализатор трафика, или сниффер (от англ. to sniff — нюхать) — сетевой анализатор трафика, программа или программно-аппаратное устройство, предназначенное для перехвата и последующего анализа, либо только анализа сетевого трафика, предназначенного для других узлов.

Снифферы применяются как в благих, так и в деструктивных целях. Анализ прошедшего через сниффер трафика позволяет:

Обнаружить паразитный, вирусный и закольцованный трафик, наличие которого увеличивает загрузку сетевого оборудования и каналов связи

Выявить в сети вредоносное и несанкционированное ПО

Перехватить любой незашифрованный (а порой и зашифрованный) пользовательский трафик с целью получения паролей и другой информации.

Локализовать неисправность сети или ошибку конфигурации сетевых агентов (для этой цели снифферы часто применяются системными администраторами)

//со слов Славы// особенно доставляют когда нет доступа к исходному коду программы, ибо позволяют разузнать структуру передаваемых данных

Снифферы аппартных интерфейсов то же что и выше, только прослушивают не сетевое соединение, а некие порты неких аппаратных интерфейсов. типа прослушка порта USB, какие-нибудь хитрые разъёмы на материнке, или не дай бог чужая микросхема, подсоединенная к компу. вроде того



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 467; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.133.147.193 (0.007 с.)