| Сервер поддерживается Центром Информационных Технологий (095) 932-9212, 932-9213, 939-0783 E-mail: info@citforum.ru

Сервер содержит море(!) аналитической информации | CIT Forum CD-ROM

### PROFIL(2)

НАЗВАНИЕ
profil - подготовка временного профиля программы

СИНТАКСИС

            void profil (buff, bufsiz, offset, scale)
            char *buff;
            int bufsiz, offset, scale;

ОПИСАНИЕ
Аргумент buff указывает на область памяти, размер которой в байтах задается аргументом bufsiz. После выполнения данного системного вызова при каждом такте часов анализируется счетчик команд: из него вычитается значение offset и полученная разность умножается на коэффициент scale. Если результат соответствует какому-либо элементу внутри области buff, то данный элемент увеличивается на 1. Элемент определяется как последовательность байт длины sizeof(short).

Коэффициент scale интерпретируется как беззнаковая денормализованная двоичная дробь с фиксированной точкой, стоящей слева от границы полуслова. Так, коэффициент 0177777 (восьмеричное) дает взаимно-однозначное отображение значений счетчика команд на элементы области buff; 077777 отображает на один элемент пару соседних команд. При значении scale, равном 02, все команды отобразятся на первый элемент области buff, который в результате превратится в непрерываемые часы.

Если значение аргумента scale задано равным 0 или 1, получение профиля выключается. При bufsiz равном 0 профилирование не выключается, однако его результаты нигде не фиксируются. Профилирование выключается при выполнении системного вызова exec, но остается в процессе-потомке и родительском процессе после вызова fork. Профилирование отключается, если обращение к элементу области buff приведет к выходу за границы памяти, отведенной процессу.

СМ. ТАКЖЕ
times(2), monitor(3C). prof(1) в Справочнике пользователя.

ДИАГНОСТИКА
Не предусмотрена.

Comments: info@citmgu.ru Designed by Andrey Novikov Copyright © CIT