Вопрос 81. Отладчики, дизассемблеры и профайлеры. Назначение. Функции и возможности.

Турбо отладчик (Turbo Debugger) - это современный отладчик, позволяющий отлаживать программы на уровне исходного текста и предназначенный для программистов

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

Ниже перечислены лишь некоторые свойства Турбо отладчика:

- использование расширенной памяти типа EMS для отладки больших программ;

- вычисление любых выражений языка Си, C++, Паскаль и Ассемблера;

- настраиваемое размещение информации на экране;

- доступ к Ассемблеру и процессору по мере необходимости;

- мощные средства использования точек останова и протокола регистрации;

- запись нажатий клавиш (макрокоманды);

- средства обратной трассировки отлаживаемой программы;

- использование удаленной системы для отладки больших программ;

- поддержка процессора 80386 и аппаратных отладчиков прочих изготовителей;

- полн. поддержка объектно-ориент-го программирования на Турбо Паскаль 5.5 и старше;

- полная поддержка языка C++ семейства компиляторов Borland C++;

- возможности отладки резидентных в памяти программ и драйверов устройств;

- возможности отладки прикладных программ Microsoft Windows.

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

получить следующую информацию о процессе выполнения программы:

* как и на что расходуется время работы программы;

* сколько раз выполняется данная строка программы;

* сколько раз и какими модулями вызывается данный модуль программы;

* к каким файлам обращается ваша программа и сколько времени

она на это тратит.

Профилировщики так же собирают информацию о использовании

критических ресурсов компьютера, к которым относятся:

* процессорное время;

* обращения к диску;

* ввод с клавиатуры;

* вывод на печать;

* использование прерываний.

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

Реализуя возможности, отсутствующие в оптимизаторах, TurboProfiler выявляет участки программы на выполнение которых затрачивается большое количество времени, показывая тем самым в каком месте необходимо внести улучшения или изменить алгоритм работы.

Отличие профилирования от оптимизации

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

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

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

Вопрос 82. Утилиты. Назначение. Примеры использования.

Утилита BE предназначена для создания диалоговых командных файлов и всевозможного их оформления.

Данная утилита входит в комплекс Norton Utilites.Собственного интерфейса не имеет и выполняется в командной строке.

Формат команды:

BE команды [параметры] [/DEBUG]

BE путь [ [GOTO] метка]

Команды:

ASK GOTO SA

BEEP JUMP SHIFTSTATE

BOX MONTHDAY TRIGGER

CLS PRINTCHAR WEEKDAY

DELAY REBOOT WINDOW

EXIT ROWCOL

/DEBUG на экран выводится код возврата (используется в процессе отладки).

Путь путь и имя файла в котором находятся команды и параметры ВЕ.

Метка метка в файле с которой стартует командный файл.

BE ASK "prompt" [key-list] [DEFAULT=key] [TIMEOUT=n] [ADJUST=n] [color]

Позволяет организовать диалог с пользователем.

"prompt" « сообщения »

[key-list] список символов

[DEFAULT=key] символ по умолчанию

[TIMEOUT=n] время ожидания =число секунд

После выполнения данной команды значение переменной ERRORLEVEL определяет значение символа, который выбрал пользователь.

BE BEEP [параметры] или BE BEEP command-file [/E]

Позволяет организовать звуковое сопровождение.

Параметры:

/Dn Длительность звучания звука n/18 секунд.
/Fn Частота звука в Гц.

/Rn повторить n раз.

/Wn пауза между звуками n/18 секунд.

/E Вывод на экран параметров.

BE BOX левый верхний угол правый нижний угол [SINGLE | DOUBLE] [color]

Рисует прямоугольник.

SINGLE одинарной толщины.

DOUBLE двойной толщины.

color цвет прямоугольника.

BE CLS [color] Очистка и установка экрана в заданный цвет.

BE PRINTCHAR символ, колличество [color] Вывод необходимого колличества символа

BE REBOOT [/VERIFY] [/COLD] Перезагрузка

/VERIFY подтверждение

BE ROWCOL row col ["text"] [color] Устанавливает курсор в требуемую позицию и выводит текст.

row № строки

col № столбца

SA основная установка [/N] или SA [интенсивность] цвет символа [ON цвет фона] [/N] [/CLS]

Выбор интенсивности = Bright Bold Blinking (Яркость Жирность Мерцание)

Выбор основной установки = Normal Reverse Underline

Выбор для цвета символа и фона:

White Black Red Magenta

Blue Green Cyan Yellow

Ключи:

/N Не устанавливается цвет бордюра.

/CLS Очистка экрана.

BE WEEKDAY (Sunday = 1) Возвращает код ошибки дню недели.

BE WINDOW левый верхний угол правый нижний угол [color] [EXPLODE\ZOOM] [SHADOW]

Рисует окно.

EXPLODE разворот окна.

SHADOW тень окна.

Наши рекомендации