PROFIL(2)

NOM
profil - Suivre le profil d'execution.

SYNOPSIS
#include <unistd.h>

int profil(char *buf, int bufsiz, int offset, int scale);

DESCRIPTION
Sous Linux 0.99.11, profil n'est pas implemente dans le noyau, a la place c'est la bibliotheque DLL 4.4.1 qui en fournit une implementation pour l'utilisateur. Buf doit pointer sur une zone de memoire contenant bufsiz octets. Toutes les 10 millisecondes d'execution, le compteur d'instruction (PC) de l'utilisateur est examine : offset en est soustrait, et le resultat est multiplie par scale. Si cette adresse est dans buf, alors le mot vers laquelle elle pointe est incremente. Si scale est inferieure a 2, ou si bufsiz est nul, le suivi est desactive.

VALEUR RENVOYEE
profil() renvoie toujours zero.

BUGS
profil ne peut pas etre utilise par un programme qui emploie simultanement des compteur ITIMER_PROF. L'appel de profil avec une zone buf invalide produira un fichier d'image memoire core. Un veritable suivi integre au noyau fournit des resultats bien plus precis.

CONFORMITE
Similaire a un appel SVr4 (mais pas POSIX.1). Neanmoins, dans la version SVr4, le premier argument est un short *, permettant des valeurs de compteur plus importantes.

VOIR AUSSI
gprof(1), setitimer(2), signal(2), sigaction(2)