Linux

CentOS 4.8

profil(2)


PROFIL

NOM

profil − Suivre le profil d’exécution.

SYNOPSIS

#include <unistd.h>

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

DESCRIPTION

Sous Linux 2.0, profil n’est pas implémenté dans le noyau, à la place c’est la bibliothèque DLL 4.4.1 qui en fournit une implémentation pour l’utilisateur.

Buf doit pointer sur une zone de mémoire contenant bufsiz octets. Toutes les 10 millisecondes d’exécution, le compteur d’instruction (PC) de l’utilisateur est examiné : offset en est soustrait, et le résultat est multiplié par scale. Si cette adresse est dans buf, alors le mot vers laquelle elle pointe est incrémenté.

Si scale est inférieure à 2, ou si bufsiz est nul, le suivi est désactivé.

VALEUR RENVOYÃE

profil() renvoie toujours zéro.

BOGUES

profil ne peut pas être utilisé par un programme qui emploie simultanément des compteur ITIMER_PROF.

L’appel de profil avec une zone buf invalide produira un fichier d’image mémoire core.

Un véritable suivi intégré au noyau fournit des résultats bien plus précis.

CONFORMITÃ

Similaire à un appel SVr4 (mais pas POSIX.1). Néanmoins, 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)

TRADUCTION

Christophe Blaess, 1997.


profil(2)