Приложение C. Удаленное профилирование

Если для работы вашей программе требуется большой объем памяти, то вы, возможно, не сможете запустить на одном компьютере и систему Turbo Profiler, и свою программу. Утилита TDREMOTE, которая входит в состав системы Turbo Profiler, позволяет обойти эту трудность, позволяя вам запускать Turbo Profiler на одной системе, а профилируемую программу на другой.


Далее приводится несколько примеров ситуаций, когда следует воспользоваться удаленным профилированием:


* когда вы пытаетесь загрузить свою программу, Turbo Profiler выдает одно из следующих сообщений:


* "Not enough memory to load symbol table" (Недостаточно памяти для загрузки таблицы символов);


* "Not enough memory" (Недостаточно памяти).


* профилируемая программа нормально загружается в память вместе с программой Turbo Profiler, но для нормального функционирования исследуемой программе не хватает памяти.


Важное замечание: перед обращением к удаленному профилированию следует проверить, пользуется ли Turbo Profiler отображаемой (expanded) памятью, которая установлена на компьютере.

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


Требования, предъявляемые к аппаратуре при удаленном профилировании


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


* компьютерную систему, на которой осуществляется разработка программ, и которая снабжена последовательным портом (когда вы запускаете Turbo Profiler, данная система становится "локальной системой");


* другой персональный компьютер с последовательным портом, на котором имеются дисковая память и оперативная память в объеме, достаточном для хранения профилируемой программы (данная система становится дистанционной (или удаленной) системой);


* кабель фиктивного модема (null modem) или принтера с последовательным интерфейсом для соединения двух систем.


Убедитесь в том, что соединяющий две системы кабель установлен должным образом: вы не сможете использовать промежуточный удлиняющий кабель. По меньшей мере этот кабель должен менять местами линии передачи и приема данных (линии 2 и 3 на 25-штыревом кабеле).


Кабель используется для соединения двух последовательных портов.


Установка утилиты TFREMOTE


Скопируйте файл TFREMOTE.EXE на удаленную (дистанционную) компьютерную систему. Перенесите на удаленную систему все файлы, которые использовались при создании профилируемой программы. (В число этих файлов входят файлы входных данных, конфигурационные файлы, файлы подсказки и так далее.)

Для переноса на удаленный компьютер файлов могут быть использованы гибкие диски или утилита TDRF (утилита переноса файлов на удаленный компьютер), которая находится на дискетах пакета Turbo Debugger. (Эта утилита описана в файле MANUAL.DOC в пакете Turbo Debugger.)

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

После того, как вы запустите программы TFREMOTE и TPROF в режиме удаленного профилирования, команды системы Turbo Profiler будут работать точно так же, как и при профилировании на одной машине; ничего нового знать не нужно.

Поскольку профилируемая программа в действительности выполняется на удаленном компьютере, все операции вывода на экран или ввода с клавиатуры в этой программе в действительности реализуются на удаленной машине. Команда Window| User Screen (Окно| Экранный кадр пользователя) при работе в режиме удаленного профилирования не действует.

Тип центрального процессора удаленного компьютера указывается в качестве составной части заголовка окна центрального процессора (CPU) со словом REMOTE (дистанционный).

Для пересылки файлов на удаленную систему при работе в среде системы Turbo Profiler необходимо выйти в DOS (выберите команду File| DOS Shell (Файл| Выход в оболочку DOS)), а затем воспользуйтесь утилитой TDRF (утилита переноса файлов на удаленный компьютер) для выполнения файловых операций на удаленной системе.

Для возврата в Turbo Profiler в ответ на запрос DOS наберите EXIT (выход) и продолжите профилирование вашей программы.


Инициация связи с удаленной машиной


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

Если в качестве последовательного порта удаленной системы используется порт COM1, то для запуска утилиты TFREMOTE введите с клавиатуры:


TFREMOTE — rp1 —rs3


Если в качестве последовательного порта удаленной системы используется порт COM2, то введите с клавиатуры:


TFREMOTE — rp2 —rs3


Обе эти команды инициируют связь между машинами на максимальной скорости (115 Кбод). Эта скорость приемлема при работе с большинством персональных компьютеров и кабелей. (Далее в данной главе указывается, как инициировать связь с меньшей скоростью, если возникают сложности с передачей данных.) При работе на системе PS/2 следует воспользоваться параметром командной строки –

rs1.


После запуска утилиты TFREMOTE на экране отображается сообщение об авторских правах, а затем сообщение о том, что утилита ожидает запуска программы Turbo Profiler на другом конце инициированной связи. Для прекращения работы утилиты и возврата в DOS следует нажать комбинацию клавиш Ctrl-Break.


Запуск программы Turbo Profiler при работе с дистанционной связью


Для запуска программы Turbo Profiler с дистанционной связью следует воспользоваться одной из следующих командных строк:


* последовательный порт COM1: tprof — rp1 —rs3 <имя-файла>


* последовательный порт COM2: tprof — rp2 —rs3 <имя-файла>


Если межмашинная связь успешно инициирована, то на удаленной системе появляется сообщение "Waiting for handshake" ("Ожидается подтверждение установления связи"), а индикатор действия на локальной системе отображает слово READY (готовность). Затем на локальной системе программы Turbo Profiler отображается обычный экранный кадр. При работе на системе PS/2 следует воспользоваться параметром командной строки — rs1.


Утилиты TPROF и TFREMOTE для задания скорости и номера последовательного порта используют одинаковые параметры командной строки: для обеспечения качественной работы этих утилит следует настроить их на одну и ту же скорость (с помощью параметра — rs).


Программа Turbo Profiler поддерживает также задание параметра командной строки — r, который инициирует дистанционную связь с использованием стандартных значения скорости и номера последовательного порта. Если эти стандартные значения параметров не были изменены с помощью утилиты настройки TFINST, параметр — r задает работу с портом COM1 на скорости 115 Кбод (максимально возможная скорость передачи данных).


Далее приводится типовая командная строка программы Turbo Profiler, которая предназначена для инициации дистанционной связи:


tprof — rs3 myprog


Эта команда инициирует дистанционную связь через используемый по умолчанию последовательный порт (обычно COM1) со скоростью передачи данных 3 (115 Кбод) и загружает в удаленную компьютерную систему программу myprog (если она отсутствует в удаленном компьютере).


Загрузка программы в удаленную систему


Программа Turbo Profiler тщательно анализирует необходимость загрузки профилируемой программы на диск удаленной машины. При этом она проверяет дату и время тех копий программы, которые находятся на локальном компьютере и на удаленном компьютере. Если копия на локальном компьютере оказывается более поздней (более новой) по сравнению с копией на удаленном компьютере, программа Turbo Profiler "предполагает", что вы рекомпилировали или перекомпоновали программу, и пересылает ее через межмашинную связь. Если задана самая высокая скорость передачи данных, передача осуществляется со скоростью примерно 11 Кбайт в секунду. Типовая программа размером в 60 Кбайт передается приблизительно за 6 секунд, поэтому не следует тревожиться в случае, если при загрузке новой программы возникает незначительная задержка.


Чтобы индицировать ход процесса перекачки файла программой Turbo Profiler, экран на удаленном компьютере отображает число переданных байтов файла.


Параметры командной строки при вызове утилиты TFREMOTE


Далее приводятся параметры командной строки утилиты TFREMOTE. Параметр может начинаться либо с символа дефиса (-), либо с символа косой черты (прямого слэша) (/).


Таблица C.1


Параметр………………………………..Его действие


— ?………………………………………Отображает экранный кадр подсказки


— h………………………………………Отображает экранный кадр подсказки


— rs1…………………………………….Медленная скорость, 9600 бод


— rs2…………………………………….Средняя скорость, 40 Кбод


— rs3…………………………………….Высокая скорость, 115 Кбод (используется по умолчанию)


— rp1…………………………………….Порт 1, (COM1) (используется по умолчанию)


— rp2…………………………………….Порт 2, (COM2)


— w……………………………………..Значения параметров заносятся в выполняемый файл программы


Если утилита TFREMOTE запускается без каких-либо параметров командной строки, то она использует стандартный номер порта и стандартное значение скорости передачи, которые встроены в выполняемый файл программы (порт COM1 и скорость передачи 115 Кбод, если они не были модифицированы с помощью параметра — w).

Вы можете сделать параметры командной строки утилиты TFREMOTE используемыми постоянно, записав их обратно в выполняемый файл утилиты TFREMOTE на диске. Для этого необходимо задать в командной строке параметр — w в совокупности с теми параметрами, значения которых вы хотите сделать постоянно используемыми. Утилита TFREMOTE запрашивает имя выполняемой программы, в которую должны быть занесены заданные изменения; если вы указываете имя нового (несуществующего) выполняемого файла, то утилита TFREMOTE создаст этот файл. Если вы нажмете лишь клавишу Enter, то запись будет произведена в выполняющуюся в настоящий момент программу (TFREMOTE).


Далее приводится пример. Если вы введете в ответ на запрос DOS следующую командную строку


tfremote — w — rs2 —rp2


и введете имя программы, которая должна быть модифицирована — tfrmt40k.exe — то утилита TFREMOTE создаст копию файла TFREMOTE.EXE с именем TFRMT40K.EXE, где будут заданы стандартная скорость, равная 40 Кбодам (параметр — rs2) и стандартный номер порта COM2 (параметр — rp2).

Для того, чтобы отобразить весь перечень доступных параметров командной строки, в ответ на запрос DOS следует ввести следующую командную строку:


TFREMOTE — h


Если вы работаете в DOS версии 3.0 или более поздней, то в сообщении указывается также маршрут и имя того файла, из которого запускается утилита TFREMOTE. Вы можете выбрать предлагаемое вам имя (нажав клавишу Enter), или ввести новое имя выполняемого файла.


Если вы работаете в DOS версии 2.0, то вы должны задать полный маршрут и имя файла выполняемой программы.


Как заставить весь комплекс работать


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


Если возникают какие-либо проблемы, следует применить следующие методы устранения неисправностей:


1. Проверьте соединения кабелей.


2. Попытайтесь установить связь на самой низкой скорости (воспользуйтесь параметром командной строки — rs1 при запуске как программы TFREMOTE, так и утилиты TPROF).


3. Если работа с параметром — rs1 осуществляется нормально, то следует попытаться задать параметр — rs2 (средняя скорость передачи данных).


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


Сообщения утилиты TFREMOTE


Далее приводится перечень сообщений, которые могут быть выданы при работе с утилитой TFREMOTE.


<nn> bytes downloaded

(по линии связи загружено <nn> байт)

Утилита TFREMOTE посылает файл на удаленную компьютерную систему. Данное сообщение отображает процесс переноса файла. При самой высокой скорости межмашинной связи (115 Кбод) скорость передачи составляет приблизительно 11 Кбайт в секунду.


Can't create file

(Невозможно создание файла)

Утилита TFREMOTE не может создать файл на удаленной компьютерной системе. Это сообщение может возникать в случае, если на диске удаленной системы обнаруживается нехватка места при переносе файла по межмашинной связи.


Can't modify exe file

(Модификация выполняемого файла невозможна)

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


Can't open exe file to modify

(Невозможно открытие выполняемого файла для его модификации)

Утилита TFREMOTE не может открыть для модификации файл с заданным вами именем. Вероятно, вы неверно указали имя файла или задали имя несуществующего файла.


Download complete

(Загрузка по межмашинной связи завершена)

Перенос файла на систему, на которой находится утилита ТFREMOTE, был успешно завершен.


Download failed, write error on disk

(При загрузке по линии связи произошел сбой; ошибка записи на диске)

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


Enter program file name to modify

(Введите имя программного файла, который должен быть подвергнут модификации)

Если работа происходит под управлением DOS версии 3.0 или более поздней, то в запросе указывается маршрут и имя файла, из которого была загружена утилита TFREMOTE. Вы можете принять существующее имя (нажав клавишу Enter), или ввести новое имя выполняемого файла. Если работа происходит под управлением DOS версии 2.0, то необходимо задать полный маршрут и имя файла выполняемой программы.


Interrupted

(Прервана)

Вы нажали комбинацию клавиш Ctrl-Break в период ожидания установления связи с другой компьютерной системой.


Invalid command line option

(Неверный параметр командной строки)

При запуске утилиты TDRF в ответ на запрос DOS вы задали неверный параметр командной строки.


Link broken

(Связь разорвана)

Программа, которая взаимодействовала с утилитой TFREMOTE, прекратила работу и осуществила возврат в

DOS.


Link estalished

(Связь установлена)

Программа на другой системе только что начала обмен данными с утилитой TFREMOTE.


Loading program <name> from disk

(Загрузка программы <имя> с диска)

Turbo Profiler дал утилите TFREMOTE загрузить программу с диска в память в целях подготовки к профилированию.


Program load filed, EXEC failure

(Произошло прекращение загрузки программы, сбой операции EXEC)

DOS не смог загрузить программу в память. Это может возникать в случае, если файл программы был поврежден или усечен. Удалите файл с программой с диска удаленной системы: в результате этого Turbo Profiler посылает по линии связи новую копию. Если это сообщение возникает повторно после удаления файла, следует произвести повторную компоновку программы на локальной системе с помощью программы TLINK и повторить попытку.


Program load failed; not enough memory

(Сбой при загрузке программы из-за нехватки памяти)

На удаленной системе не хватает свободной памяти для загрузки той программы, которую вы собираетесь профилировать. Эта ситуация возникает только в случае обработки очень больших программ, поскольку утилите TFREMOTE для работы требуется только 15 Кбайт.


Program load failed; program not found

(Сбой при загрузке программы: программа не найдена)

Утилита TFREMOTE не смогла обнаружить на диске указанной программы. Эта ситуация никогда не должна возникать, поскольку Turbo Profiler осуществляет перенос программы по линии связи на удаленную систему, если утилита TFREMOTE не находит ее.


Program load successful

(Загрузка программы прошла успешно)

Утилита TFREMOTE завершила загрузку программы, которая должна профилироваться системой Turbo Profiler.


Reading file <name> from Turbo Profiler

(Считывается файл <имя> от Turbo Profiler)

Это сообщение появляется на экране удаленной системы, чтобы вы могли знать, что удаленный файл послан программой Turbo Profiler.


Unknown request: <message>

(Неизвестный запрос: <сообщение>)

Утилита TFREMOTE получила от локальной системы (где выполняется Turbo Profiler) запрос неизвестного характера. Если вы получаете данное сообщение, проверьте, находится ли связывающий кабель в нормальном рабочем состоянии. Если появление подобной ошибки повторяется, то попытайтесь уменьшить скорость осуществления связи (воспользуйтесь параметром командной строки — rs).


Waiting for handshake (press Ctrl-Break to quit)

(Ожидается подтверждение связи (для выхода нажмите комбинацию Ctrl-Break))

Утилита TFREMOTE начала работу и ожидает, пока программа на локальной системе начнет с ней обмен данными. Для того, чтобы возвратиться в DOS до того, как другая система начнет взаимодействие, необходимо нажать комбинацию клавиш Ctrl-Break.







 


Главная | В избранное | Наш E-MAIL | Добавить материал | Нашёл ошибку | Другие сайты | Наверх