.\" -*- coding: UTF-8 -*- .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .de IX .. .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .if n .ds AD l .\" .\" Required to disable full justification in groff 1.23.0. .\" ======================================================================== .\" .IX Titlu "GPROF 1" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH GPROF 1 "9 februarie 2026" binutils\-2.46 GNU .if n .ad l .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .nh .SH NUME gprof \- afișează datele de profil ale graficului de apeluri .SH SINOPSIS .IX Antet SINOPSIS gprof [ \-[abcDhilLrsTvwxyz] ] [ \-[ABCeEfFJnNOpPqQRStZ][\fInume\fP] ] [ \-I \fIdirectoare\fP ] [ \-d[\fInumăr\fP] ] [ \-k \fIde_la/până_la\fP ] [ \-m \fInr\-min\-cicluri\fP ] [ \-R \fIfișier\-corespondențe\fP ] [ \-t \fIlungime\-tabel\fP ] [ \-\-[no\-]annotated\-source[=\fInume\fP] ] [ \-\-[no\-]exec\-counts[=\fInume\fP] ] [ \-\-[no\-]flat\-profile[=\fInume\fP] ] [ \-\-[no\-]graph[=\fInume\fP] ] [ \-\-[no\-]time=\fInume\fP] [ \-\-all\-lines ] [ \-\-brief ] [ \-\-debug[=\fInivel\fP] ] [ \-\-function\-ordering ] [ \-\-file\-ordering \fIfișier\-corespondențe\fP ] [ \-\-directory\-path=\fIdirectoare\fP ] [ \-\-display\-unused\-functions ] [ \-\-file\-format=\fInume\fP ] [ \-\-file\-info ] [ \-\-help ] [ \-\-line ] [ \-\-inline\-file\-names ] [ \-\-min\-count=\fIn\fP ] [ \-\-no\-static ] [ \-\-print\-path ] [ \-\-separate\-files ] [ \-\-static\-call\-graph ] [ \-\-sum ] [ \-\-table\-length=\fIlungime\fP ] [ \-\-traditional ] [ \-\-version ] [ \-\-width=\fIn\fP ] [ \-\-ignore\-non\-functions ] [ \-\-demangle[=\fISTIL\fP] ] [ \-\-no\-demangle ] [\-\-external\-symbol\-table=nume] [ \fIfișier\-imagine\fP ] [ \fIfișier\-profil\fP ... ] .SH DESCRIERE .IX Antet DESCRIERE \&\f(CW«gprof»\fP produce un profil de execuție a programelor C, Pascal sau Fortran77. Efectul rutinelor apelate este încorporat în profilul fiecărui apelant. Datele profilului sunt preluate din fișierul de profil al graficului de apeluri (\fIgmon.out\fP implicit) care este creat de programele compilate cu opțiunea \fB\-pg\fP a \&\f(CW„cc”\fP, \f(CW„pc”\fP și \f(CW„f77”\fP. Opțiunea \fB\-pg\fP face legătura și cu versiunile rutinelor de bibliotecă care sunt compilate pentru profilare. \f(CW«gprof»\fP citește fișierul obiect dat (valoarea implicită este \f(CW„a.out”\fP) și stabilește relația dintre tabelul său de simboluri și profilul graficului de apeluri din \fIgmon.out\fP. În cazul în care sunt specificate mai multe fișiere de profil, rezultatul \f(CW«gprof»\fP arată suma informațiilor de profil din fișierele de profil date. .PP \&\f(CW«gprof»\fP calculează cantitatea de timp petrecută în fiecare rutină. Apoi, aceste durate sunt propagate de\-a lungul marginilor graficului de apeluri. Se descoperă cicluri, iar apelurile în cadrul unui ciclu sunt efectuate pentru a împărți timpul ciclului. .PP În urma analizei sunt disponibile mai multe formate de rezultate. .PP Profilul \fIplan\fP arată cât timp a petrecut programul dvs. în fiecare funcție și de câte ori a fost apelată funcția respectivă. Dacă doriți pur și simplu să știți ce funcții consumă cele mai multe cicluri, acest lucru este precizat concis aici. .PP Graficul \fIde apelare\fP arată, pentru fiecare funcție, ce funcții au apelat\-o, ce alte funcții au fost apelate și de câte ori. Există, de asemenea, o estimare a timpului petrecut în subrutinele fiecărei funcții. Acest lucru poate sugera locuri în care ați putea încerca să eliminați apelurile de funcții care consumă mult timp. .PP Lista \fIsursă adnotată\fP este o copie a codului sursă al programului, etichetată cu numărul de ori de câte ori a fost executată fiecare linie a programului. .SH OPȚIUNI .IX Antet OPȚIUNI Aceste opțiuni specifică pe care dintre diferitele formate de ieșire trebuie să\-l producă \&\f(CW«gprof»\fP. .PP Multe dintre aceste opțiuni acceptă un argument \fIspecificare\-simbol\fP opțional pentru a specifica funcțiile care trebuie incluse sau excluse. Aceste opțiuni pot fi specificate de mai multe ori, cu diferite argumente „specificare\-simbol”, pentru a include sau exclude seturi de simboluri. .PP Specificarea oricăreia dintre aceste opțiuni înlocuiește opțiunea implicită (\fB\-p \-q\fP), care afișează un profil plan și o analiză grafică a apelurilor pentru toate funcțiile. .ie n .IP """\-A[\fIsymspec\fR]""" 4 .el .IP \f(CW\-A[\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-A[specificare\-simbol] .PD 0 .ie n .IP """\-\-annotated\-source[=\fIsymspec\fR]""" 4 .el .IP \f(CW\-\-annotated\-source[=\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-\-annotated\-source[=specificare\-simbol] .PD Opțiunea \fB\-A\fP face ca \f(CW«gprof»\fP să afișeze codul sursă adnotat. Dacă este specificat argumentul \fIspecificare\-simbol\fP, imprimă numai ieșirea pentru simbolurile corespunzătoare. .ie n .IP """\-b""" 4 .el .IP \f(CW\-b\fR 4 .IX Element \-b .PD 0 .ie n .IP """\-\-brief""" 4 .el .IP \f(CW\-\-brief\fR 4 .IX Element \-\-brief .PD Dacă este dată opțiunea \fB\-b\fP, \f(CW«gprof»\fP nu va imprima comentariile ample care încearcă să explice semnificația tuturor câmpurilor din tabele. Acest lucru este util dacă intenționați să imprimați rezultatele sau dacă v\-ați săturat să vedeți comentarii ample asupra operațiilor ce se efectuează. .ie n .IP """\-B""" 4 .el .IP \f(CW\-B\fR 4 .IX Element \-B Opțiunea \fB\-B\fP face ca \f(CW«gprof»\fP să afișeze analiza grafică a apelurilor. .ie n .IP """\-C[\fIsymspec\fR]""" 4 .el .IP \f(CW\-C[\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-C[specificare\-simbol] .PD 0 .ie n .IP """\-\-exec\-counts[=\fIsymspec\fR]""" 4 .el .IP \f(CW\-\-exec\-counts[=\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-\-exec\-counts[=specificare\-simbol] .PD Opțiunea \fB\-C\fP face ca \f(CW«gprof»\fP să afișeze o listă a funcțiilor și numărul de apeluri pentru fiecare dintre ele. Dacă este specificat argumentul \fIspecificare\-simbol\fP, imprimă contorizarea numai pentru simbolurile care corespund. .Sp În cazul în care fișierul de date de profil conține înregistrări de numărare a blocurilor de bază, specificarea opțiunii \fB\-l\fP, împreună cu \fB\-C\fP, va determina numărarea și afișarea numărului de execuții ale blocurilor de bază. .ie n .IP """\-i""" 4 .el .IP \f(CW\-i\fR 4 .IX Element \-i .PD 0 .ie n .IP """\-\-file\-info""" 4 .el .IP \f(CW\-\-file\-info\fR 4 .IX Element \-\-file\-info .PD Opțiunea \fB\-i\fP face ca \f(CW«gprof»\fP să afișeze informații sumare despre fișierul (fișierele) de date de profil și apoi să iasă. Se afișează numărul de înregistrări ale histogramei, ale graficului de apeluri și ale numărului de blocuri de bază. .ie n .IP """\-I \fIdirs\fR""" 4 .el .IP "\f(CW\-I \fR\f(CIdirs\fR\f(CW\fR" 4 .IX Element "\-I directoare" .PD 0 .ie n .IP """\-\-directory\-path=\fIdirs\fR""" 4 .el .IP \f(CW\-\-directory\-path=\fR\f(CIdirs\fR\f(CW\fR 4 .IX Element \-\-directory\-path=directoare .PD Opțiunea \fB\-I\fP specifică o listă de directoare de căutare în care se caută fișierele sursă. Variabila de mediu \fIGPROF_PATH\fP poate fi, de asemenea, utilizată pentru a transmite aceste informații. Se utilizează mai ales pentru ieșirea de surse adnotate. .ie n .IP """\-J[\fIsymspec\fR]""" 4 .el .IP \f(CW\-J[\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-J[specificare\-simbol] .PD 0 .ie n .IP """\-\-no\-annotated\-source[=\fIsymspec\fR]""" 4 .el .IP \f(CW\-\-no\-annotated\-source[=\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-\-no\-annotated\-source[=specificare\-simbol] .PD Opțiunea \fB\-J\fP face ca \f(CW«gprof»\fP să nu afișeze codul sursă adnotat. Dacă se specifică argumentul \fIspecificare\-simbol\fP, \f(CW«gprof»\fP afișează codul sursă adnotat, dar exclude simbolurile corespunzătoare. .ie n .IP """\-L""" 4 .el .IP \f(CW\-L\fR 4 .IX Element \-L .PD 0 .ie n .IP """\-\-print\-path""" 4 .el .IP \f(CW\-\-print\-path\fR 4 .IX Element \-\-print\-path .PD În mod normal, numele fișierelor sursă sunt afișate cu componenta de rută suprimată. Opțiunea \fB\-L\fP face ca \f(CW«gprof»\fP să afișeze numele de rută complet al numelor de fișiere sursă, care este determinat din informațiile simbolice de depanare din fișierul imagine și este relativ la directorul în care a fost invocat compilatorul. .ie n .IP """\-p[\fIsymspec\fR]""" 4 .el .IP \f(CW\-p[\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-p[specificare\-simbol] .PD 0 .ie n .IP """\-\-flat\-profile[=\fIsymspec\fR]""" 4 .el .IP \f(CW\-\-flat\-profile[=\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-\-flat\-profile[=specificare\-simbol] .PD Opțiunea \fB\-p\fP face ca \f(CW«gprof»\fP să afișeze un profil plan. Dacă este specificatargumentul \fIspecificare\-simbol\fP, imprimă profilul plan numai pentru simbolurile corespunzătoare. .ie n .IP """\-P[\fIsymspec\fR]""" 4 .el .IP \f(CW\-P[\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-P[specificare\-simbol] .PD 0 .ie n .IP """\-\-no\-flat\-profile[=\fIsymspec\fR]""" 4 .el .IP \f(CW\-\-no\-flat\-profile[=\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-\-no\-flat\-profile[=specificare\-simbol] .PD Opțiunea \fB\-P\fP face ca \f(CW«gprof»\fP să suprime imprimarea unui profil plan. Dacă se specifică argumentul \fIspecificare\-simbol\fP, \f(CW«gprof»\fP afișează un profil plan, dar exclude simbolurile corespunzătoare. .ie n .IP """\-q[\fIsymspec\fR]""" 4 .el .IP \f(CW\-q[\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-q[specificare\-simbol] .PD 0 .ie n .IP """\-\-graph[=\fIsymspec\fR]""" 4 .el .IP \f(CW\-\-graph[=\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-\-graph[=specificare\-simbol] .PD Opțiunea \fB\-q\fP face ca \f(CW«gprof»\fP să afișeze analiza grafică a apelurilor. Dacă se specifică argumentul \fIspecificare\-simbol\fP, imprimă graficul de apeluri numai pentru simbolurile corespunzătoare și pentru copiii acestora. .ie n .IP """\-Q[\fIsymspec\fR]""" 4 .el .IP \f(CW\-Q[\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-Q[specificare\-simbol] .PD 0 .ie n .IP """\-\-no\-graph[=\fIsymspec\fR]""" 4 .el .IP \f(CW\-\-no\-graph[=\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-\-no\-graph[=specificare\-simbol] .PD Opțiunea \fB\-Q\fP face ca \f(CW«gprof»\fP să suprime afișarea graficului de apeluri. Dacă se specifică argumentul \fIspecificare\-simbol\fP, \f(CW«gprof»\fP afișează un grafic de apeluri, dar exclude simbolurile corespunzătoare. .ie n .IP """\-t""" 4 .el .IP \f(CW\-t\fR 4 .IX Element \-t .PD 0 .ie n .IP """\-\-table\-length=\fInum\fR""" 4 .el .IP \f(CW\-\-table\-length=\fR\f(CInum\fR\f(CW\fR 4 .IX Element \-\-table\-length=număr .PD Opțiunea \fB\-t\fP face ca, atunci când este activată adnotarea sursei, să fie listate cele mai active linii de sursă \fInumăr\fP din fiecare fișier sursă. Opțiunea implicită este 10. .ie n .IP """\-y""" 4 .el .IP \f(CW\-y\fR 4 .IX Element \-y .PD 0 .ie n .IP """\-\-separate\-files""" 4 .el .IP \f(CW\-\-separate\-files\fR 4 .IX Element \-\-separate\-files .PD Această opțiune afectează doar ieșirea sursei adnotate. În mod normal, \f(CW«gprof»\fP imprimă fișierele sursă adnotate la ieșirea standard. Dacă se specifică această opțiune, sursa adnotată pentru un fișier numit \fIrută/către/nume_fișier\fP este generată în fișierul \fInume_fișier\-ann\fP. În cazul în care sistemul de fișiere subiacent ar trunchia \fInume_fișier\-ann\fP astfel încât să suprascrie originalul \fInume_fișier\fP, \f(CW«gprof»\fP generează sursa adnotată în fișierul \fInume_fișier.ann\fP în locul acestuia (dacă numele original al fișierului are o extensie, această extensie este \fIînlocuită\fP cu \&\fI.ann\fP). .ie n .IP """\-Z[\fIsymspec\fR]""" 4 .el .IP \f(CW\-Z[\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-Z[specificare\-simbol] .PD 0 .ie n .IP """\-\-no\-exec\-counts[=\fIsymspec\fR]""" 4 .el .IP \f(CW\-\-no\-exec\-counts[=\fR\f(CIsymspec\fR\f(CW]\fR 4 .IX Element \-\-no\-exec\-counts[=specificare\-simbol] .PD Opțiunea \fB\-Z\fP face ca \f(CW«gprof»\fP să nu afișeze o listă a funcțiilor și numărul de apeluri pentru fiecare dintre ele. Dacă este specificat argumentul \fIspecificare\-simbol\fP, imprimă numărătoarea, dar exclude simbolurile corespunzătoare. .ie n .IP """\-r""" 4 .el .IP \f(CW\-r\fR 4 .IX Element \-r .PD 0 .ie n .IP """\-\-function\-ordering""" 4 .el .IP \f(CW\-\-function\-ordering\fR 4 .IX Element \-\-function\-ordering .PD Opțiunea \fB\-\-function\-ordering\fP face ca \f(CW«gprof»\fP să afișeze o sugestie de ordonare a funcțiilor pentru program pe baza datelor de profilare. Această opțiune sugerează o ordonare care poate îmbunătăți comportamentul de paginare, tlb și cache pentru program pe sistemele care acceptă ordonarea arbitrară a funcțiilor într\-un executabil. .Sp Detaliile exacte ale modului în care se forțează editorul de legături să plaseze funcțiile într\-o anumită ordine depind de sistem și nu fac obiectul acestui manual. .ie n .IP """\-R \fImap_file\fR""" 4 .el .IP "\f(CW\-R \fR\f(CImap_file\fR\f(CW\fR" 4 .IX Element "\-R fișier\-corespondențe" .PD 0 .ie n .IP """\-\-file\-ordering \fImap_file\fR""" 4 .el .IP "\f(CW\-\-file\-ordering \fR\f(CImap_file\fR\f(CW\fR" 4 .IX Element "\-\-file\-ordering fișier\-corespondențe" .PD Opțiunea \fB\-\-file\-ordering\fP face ca \f(CW«gprof»\fP să afișeze o sugestie de ordonare a liniilor de legătură .o pentru program pe baza datelor de profilare. Această opțiune sugerează o ordonare care poate îmbunătăți comportamentul de paginare, tlb și cache pentru program pe sistemele care nu acceptă ordonarea arbitrară a funcțiilor într\-un executabil. .Sp Utilizarea argumentului \fB\-a\fP este foarte recomandată cu această opțiune. .Sp Argumentul \fIfișier\-corespondențe\fP este un nume de rută către un fișier care furnizează corespondențe între numele funcției și fișierul obiect. Formatul fișierului este similar cu cel al ieșirii programului \f(CW«nm»\fP. .Sp .Vb 8 \& c\-parse.o:00000000 T yyparse \& c\-parse.o:00000004 C yyerrflag \& c\-lang.o:00000000 T maybe_objc_method_name \& c\-lang.o:00000000 T print_lang_statistics \& c\-lang.o:00000000 T recognize_objc_keyword \& c\-decl.o:00000000 T print_lang_identifier \& c\-decl.o:00000000 T print_lang_type \& ... .Ve .Sp Pentru a crea un \fIfișier\-corespondențe\fP cu GNU \f(CW«nm»\fP, tastați o comandă precum \&\f(CW«nm \-\-extern\-only \-\-defined\-only \-v \-\-print\-file\-name program\-name»\fP. .ie n .IP """\-T""" 4 .el .IP \f(CW\-T\fR 4 .IX Element \-T .PD 0 .ie n .IP """\-\-traditional""" 4 .el .IP \f(CW\-\-traditional\fR 4 .IX Element \-\-traditional .PD Opțiunea \fB\-T\fP face ca \f(CW«gprof«\fP să afișeze ieșirea în stilul BSD „tradițional”. .ie n .IP """\-w \fIwidth\fR""" 4 .el .IP "\f(CW\-w \fR\f(CIwidth\fR\f(CW\fR" 4 .IX Element "\-w lățime" .PD 0 .ie n .IP """\-\-width=\fIwidth\fR""" 4 .el .IP \f(CW\-\-width=\fR\f(CIwidth\fR\f(CW\fR 4 .IX Element \-\-width=lățime .PD Stabilește lățimea liniilor de ieșire la \fIlățime\fP. În prezent, se utilizează numai la imprimarea indexului funcției în partea de jos a graficului de apeluri. .ie n .IP """\-x""" 4 .el .IP \f(CW\-x\fR 4 .IX Element \-x .PD 0 .ie n .IP """\-\-all\-lines""" 4 .el .IP \f(CW\-\-all\-lines\fR 4 .IX Element \-\-all\-lines .PD Această opțiune afectează doar ieșirea sursei adnotate. În mod implicit, sunt adnotate numai liniile de la începutul unui bloc de bază. Dacă se specifică această opțiune, fiecare linie dintr\-un bloc de bază este adnotată prin repetarea adnotării pentru prima linie. Acest comportament este similar cu «\f(CWtcov\fP \fB\-a\fP». .ie n .IP """\-\-demangle[=\fIstyle\fR]""" 4 .el .IP \f(CW\-\-demangle[=\fR\f(CIstyle\fR\f(CW]\fR 4 .IX Element \-\-demangle[=stil] .PD 0 .ie n .IP """\-\-no\-demangle""" 4 .el .IP \f(CW\-\-no\-demangle\fR 4 .IX Element \-\-no\-demangle .PD Aceste opțiuni controlează dacă numele simbolurilor C++ trebuie să fie separate la imprimarea rezultatelor. Opțiunea implicită este să se decodifice simbolurile. Opțiunea \&\f(CW„\-\-no\-demangle”\fP poate fi utilizată pentru a dezactiva decodificarea. Compilatoare diferite au stiluri diferite de codificare. Argumentul opțional „stil decodificare” poate fi utilizat pentru a alege un stil de decodificare adecvat pentru compilatorul dumneavoastră. .SS "Opțiuni de analiză" .IX Subsecțiune "Opțiuni de analiză" .ie n .IP """\-a""" 4 .el .IP \f(CW\-a\fR 4 .IX Element \-a .PD 0 .ie n .IP """\-\-no\-static""" 4 .el .IP \f(CW\-\-no\-static\fR 4 .IX Element \-\-no\-static .PD Opțiunea \fB\-a\fP face ca \f(CW«gprof»\fP să suprime afișarea funcțiilor declarate static (private); (acestea sunt funcții ale căror nume nu sunt listate ca fiind globale și care nu sunt vizibile în afara fișierului/funcției/blocului în care au fost definite). Timpul petrecut în aceste funcții, apelurile către/de la acestea etc., vor fi toate atribuite funcției care a fost încărcată direct înaintea ei în fișierul executabil. Această opțiune afectează atât profilul plan, cât și graficul de apeluri. .ie n .IP """\-c""" 4 .el .IP \f(CW\-c\fR 4 .IX Element \-c .PD 0 .ie n .IP """\-\-static\-call\-graph""" 4 .el .IP \f(CW\-\-static\-call\-graph\fR 4 .IX Element \-\-static\-call\-graph .PD Opțiunea \fB\-c\fP face ca graficul de apeluri al programului să fie mărit cu o euristică care examinează spațiul de text al fișierului obiect și identifică apelurile de funcții în codul binar al mașinii. Deoarece înregistrările normale ale graficului de apeluri sunt generate numai atunci când sunt introduse funcții, această opțiune identifică copii care ar fi putut fi apelați, dar nu au fost niciodată. Apelurile către funcții care nu au fost compilate cu profilarea activată sunt, de asemenea, identificate, dar numai dacă sunt prezente intrări în tabela de simboluri pentru acestea. Apelurile către rutinele bibliotecii dinamice \fInu\fP sunt de obicei găsite de această opțiune. Părinții sau copiii identificați prin intermediul acestei euristici sunt indicați în graficul de apeluri cu un număr de apeluri de \fB0\fP. .ie n .IP """\-D""" 4 .el .IP \f(CW\-D\fR 4 .IX Element \-D .PD 0 .ie n .IP """\-\-ignore\-non\-functions""" 4 .el .IP \f(CW\-\-ignore\-non\-functions\fR 4 .IX Element \-\-ignore\-non\-functions .PD Opțiunea \fB\-D\fP face ca \f(CW«gprof»\fP să ignore simbolurile despre care nu se știe că sunt funcții. Această opțiune va oferi date de profil mai precise pe sistemele în care este suportată (Solaris și HPUX, de exemplu). .ie n .IP """\-k \fIfrom\fR/\fIto\fR""" 4 .el .IP "\f(CW\-k \fR\f(CIfrom\fR\f(CW/\fR\f(CIto\fR\f(CW\fR" 4 .IX Element "\-k de_la/până_la" Opțiunea \fB\-k\fP vă permite să ștergeți din graficul de apelare toate arcurile de la simbolurile care corespund \fIde_la\fP specificare\-simbol la cele care corespund \fIpână_la\fP specificare\-simbol. .ie n .IP """\-l""" 4 .el .IP \f(CW\-l\fR 4 .IX Element \-l .PD 0 .ie n .IP """\-\-line""" 4 .el .IP \f(CW\-\-line\fR 4 .IX Element \-\-line .PD Opțiunea \fB\-l\fP activează profilarea linie cu linie, ceea ce face ca rezultatele histogramei să fie încărcate pe linii individuale de cod sursă, în loc de funcții. Această caracteristică funcționează numai cu programe compilate de versiuni mai vechi ale compilatorului \f(CW«gcc»\fP. Versiunile mai noi de \&\f(CW«gcc»\fP sunt concepute pentru a funcționa în schimb cu instrumentul \f(CW«gcov»\fP. .Sp Dacă programul a fost compilat cu contorizarea blocurilor de bază activată, această opțiune va identifica, de asemenea, de câte ori a fost executată fiecare linie de cod. În timp ce profilarea linie cu linie poate ajuta la izolarea locului într\-o funcție mare în care un program își petrece timpul, aceasta crește semnificativ timpul de execuție al \f(CW«gprof»\fP și amplifică inexactitățile statistice. .ie n .IP """\-\-inline\-file\-names""" 4 .el .IP \f(CW\-\-inline\-file\-names\fR 4 .IX Element \-\-inline\-file\-names Această opțiune face ca \f(CW«gprof»\fP să afișeze fișierul sursă după fiecare simbol, atât în profilul plan, cât și în graficul de apeluri. Ruta completă a fișierului este imprimată dacă este utilizată împreună cu opțiunea \fB\-L\fP. .ie n .IP """\-m \fInum\fR""" 4 .el .IP "\f(CW\-m \fR\f(CInum\fR\f(CW\fR" 4 .IX Element "\-m număr" .PD 0 .ie n .IP """\-\-min\-count=\fInum\fR""" 4 .el .IP \f(CW\-\-min\-count=\fR\f(CInum\fR\f(CW\fR 4 .IX Element \-\-min\-count=număr .PD Această opțiune afectează doar numărul de execuții. Simbolurile care sunt executate de mai puțin de \fInumăr\fP ori sunt suprimate. .ie n .IP """\-n\fIsymspec\fR""" 4 .el .IP \f(CW\-n\fR\f(CIsymspec\fR\f(CW\fR 4 .IX Element \-nspecificare\-simbol .PD 0 .ie n .IP """\-\-time=\fIsymspec\fR""" 4 .el .IP \f(CW\-\-time=\fR\f(CIsymspec\fR\f(CW\fR 4 .IX Element \-\-time=specificare\-simbol .PD Opțiunea \fB\-n\fP face ca \f(CW«gprof»\fP, în analiza grafică a apelurilor, să propage timpii numai pentru simbolurile care corespund cu \fIspecificare\-simbol\fP. .ie n .IP """\-N\fIsymspec\fR""" 4 .el .IP \f(CW\-N\fR\f(CIsymspec\fR\f(CW\fR 4 .IX Element \-Nspecificare\-simbol .PD 0 .ie n .IP """\-\-no\-time=\fIsymspec\fR""" 4 .el .IP \f(CW\-\-no\-time=\fR\f(CIsymspec\fR\f(CW\fR 4 .IX Element \-\-no\-time=specificare\-simbol .PD Opțiunea \fB\-n\fP face ca \f(CW«gprof»\fP, în analiza grafică a apelurilor, să nu propage timpii pentru simbolurile care corespund cu \fIspecificare\-simbol\fP. .ie n .IP """\-S\fIfilename\fR""" 4 .el .IP \f(CW\-S\fR\f(CIfilename\fR\f(CW\fR 4 .IX Element \-Snume\-fișier .PD 0 .ie n .IP """\-\-external\-symbol\-table=\fIfilename\fR""" 4 .el .IP \f(CW\-\-external\-symbol\-table=\fR\f(CIfilename\fR\f(CW\fR 4 .IX Element \-\-external\-symbol\-table=nume\-fișier .PD Opțiunea \fB\-S\fP face ca \f(CW«gprof»\fP să citească un fișier extern de tabele de simboluri, cum ar fi \fI/proc/kallsyms\fP, în loc să citească tabelul de simboluri din fișierul obiect dat (opțiunea implicită este \f(CW„a.out”\fP). Acest lucru este util pentru profilarea modulelor de nucleu. .ie n .IP """\-z""" 4 .el .IP \f(CW\-z\fR 4 .IX Element \-z .PD 0 .ie n .IP """\-\-display\-unused\-functions""" 4 .el .IP \f(CW\-\-display\-unused\-functions\fR 4 .IX Element \-\-display\-unused\-functions .PD Dacă dați opțiunea \fB\-z\fP, \f(CW«gprof»\fP va menționa toate funcțiile din profilul plan, chiar și pe cele care nu au fost apelate niciodată și care nu au avut timp petrecut în ele. Acest lucru este util împreună cu opțiunea \&\fB\-c\fP pentru a descoperi ce rutine nu au fost niciodată apelate. .SS "Opțiuni diverse" .IX Subsecțiune "Opțiuni diverse" .ie n .IP """\-d[\fInum\fR]""" 4 .el .IP \f(CW\-d[\fR\f(CInum\fR\f(CW]\fR 4 .IX Element \-d[număr] .PD 0 .ie n .IP """\-\-debug[=\fInum\fR]""" 4 .el .IP \f(CW\-\-debug[=\fR\f(CInum\fR\f(CW]\fR 4 .IX Element \-\-debug[=număr] .PD Opțiunea \fB\-d\fP \fInumăr\fP specifică opțiunile de depanare. Dacă argumentul \fInumăr\fP nu este specificat, activează toate depanările. .ie n .IP """\-h""" 4 .el .IP \f(CW\-h\fR 4 .IX Element \-h .PD 0 .ie n .IP """\-\-help""" 4 .el .IP \f(CW\-\-help\fR 4 .IX Element \-\-help .PD Opțiunea \fB\-h\fP afișează utilizarea liniei de comandă. .ie n .IP """\-O\fIname\fR""" 4 .el .IP \f(CW\-O\fR\f(CIname\fR\f(CW\fR 4 .IX Element \-Onume .PD 0 .ie n .IP """\-\-file\-format=\fIname\fR""" 4 .el .IP \f(CW\-\-file\-format=\fR\f(CIname\fR\f(CW\fR 4 .IX Element \-\-file\-format=nume .PD Selectează formatul fișierelor de date de profil. Formatele recunoscute sunt \&\fBauto\fP (implicit), \fBbsd\fP, \fB4.4bsd\fP, \fBmagic\fP și \&\fBprof\fP (încă nu este acceptat). .ie n .IP """\-s""" 4 .el .IP \f(CW\-s\fR 4 .IX Element \-s .PD 0 .ie n .IP """\-\-sum""" 4 .el .IP \f(CW\-\-sum\fR 4 .IX Element \-\-sum .PD Opțiunea \fB\-s\fP determină \f(CW«gprof»\fP să rezume informațiile din fișierele de date de profil pe care le\-a citit și să scrie un fișier de date de profil numit \fIgmon.sum\fP, care conține toate informațiile din fișierele de date de profil pe care \f(CW«gprof»\fP le\-a citit. Fișierul \fIgmon.sum\fP poate fi unul dintre fișierele de intrare specificate; acest lucru are ca efect fuzionarea datelor din celelalte fișiere de intrare în \fIgmon.sum\fP. .Sp Eventual, puteți rula din nou \f(CW«gprof»\fP fără \fB\-s\fP pentru a analiza datele cumulative din fișierul \fIgmon.sum\fP. .ie n .IP """\-v""" 4 .el .IP \f(CW\-v\fR 4 .IX Element \-v .PD 0 .ie n .IP """\-\-version""" 4 .el .IP \f(CW\-\-version\fR 4 .IX Element \-\-version .PD Opțiunea \fB\-v\fP face ca \f(CW«gprof»\fP să afișeze numărul versiunii curente și apoi să iasă. .SS "Opțiuni învechite" .IX Subsecțiune "Opțiuni învechite" Aceste opțiuni au fost înlocuite cu versiuni mai noi care utilizează argumentele „specificare\-simbol”. .ie n .IP """\-e \fIfunction_name\fR""" 4 .el .IP "\f(CW\-e \fR\f(CIfunction_name\fR\f(CW\fR" 4 .IX Element "\-e nume\-funcție" Opțiunea \fB\-e\fP \fIfuncție\fP îi indică lui \f(CW«gprof»\fP să nu afișeze informații despre funcția \fInume\-funcție\fP (și copiii săi...) în graficul de apeluri. Funcția va fi în continuare listată ca fiind un copil al oricărei funcții care o apelează, dar numărul său de index va fi afișat ca \fB[not printed]\fP. Se pot da mai multe opțiuni \fB\-e\fP; cu fiecare opțiune \fB\-e\fP poate fi indicat doar un singur argument \fInume\-funcție\fP. .ie n .IP """\-E \fIfunction_name\fR""" 4 .el .IP "\f(CW\-E \fR\f(CIfunction_name\fR\f(CW\fR" 4 .IX Element "\-E nume\-funcție" Opțiunea \f(CW„\-E funcție”\fP funcționează la fel ca opțiunea \f(CW„\-e”\fP, dar timpul petrecut în funcție (și copiii care nu au fost apelați din altă parte) nu va fi utilizat pentru a calcula procentele de timp pentru graficul de apeluri. Se pot da mai multe opțiuni \fB\-E\fP; cu fiecare opțiune \fB\-E\fP poate fi indicat doar un singur argument \fInume\-funcției\fP. .ie n .IP """\-f \fIfunction_name\fR""" 4 .el .IP "\f(CW\-f \fR\f(CIfunction_name\fR\f(CW\fR" 4 .IX Element "\-f nume\-funcție" Opțiunea \fB\-f\fP \fIfuncție\fP face ca \f(CW«gprof»\fP să limiteze graficul de apeluri la funcția \fInumele_funcției\fP și la copiii acesteia (și la copiii acestora...). Se pot da mai multe opțiuni \fB\-f\fP; cu fiecare opțiune \fB\-f\fP poate fi indicat doar un singur argument \fInume\-funcție\fP. .ie n .IP """\-F \fIfunction_name\fR""" 4 .el .IP "\f(CW\-F \fR\f(CIfunction_name\fR\f(CW\fR" 4 .IX Element "\-F fnume\-funcție" Opțiunea \fB\-F\fP \fIfuncție\fP funcționează la fel ca opțiunea \f(CW„\-f”\fP, dar numai timpul petrecut în funcție și în copiii acesteia (și copiii acestora...) va fi utilizat pentru a determina timpul total și procentele de timp pentru graficul de apeluri. Se pot da mai multe opțiuni \fB\-F\fP; cu fiecare opțiune \&\fB\-F\fP se poate indica doar un singur argument \fInume\-funcție\fP. Opțiunea \fB\-F\fP prevalează asupra opțiunii \fB\-E\fP. .SH FIȘIERE .IX Antet FIȘIERE .ie n .IP """\fIa.out\fR""" 4 .el .IP \f(CW\fR\f(CIa.out\fR\f(CW\fR 4 .IX Element a.out lista de nume și spațiul pentru text. .ie n .IP """\fIgmon.out\fR""" 4 .el .IP \f(CW\fR\f(CIgmon.out\fR\f(CW\fR 4 .IX Element gmon.out graficul și profilul dinamic al apelurilor. .ie n .IP """\fIgmon.sum\fR""" 4 .el .IP \f(CW\fR\f(CIgmon.sum\fR\f(CW\fR 4 .IX Element gmon.sum rezumatul graficului dinamic al apelurilor și al profilului. .SH ERORI .IX Antet ERORI Finețea eșantionării este prezentată, dar rămâne în cel mai bun caz statistică. Presupunem că timpul pentru fiecare execuție a unei funcții poate fi exprimat prin timpul total al funcției împărțit la numărul de apeluri ale funcției. Astfel, timpul propagat de\-a lungul arcurilor graficului de apelare către părinții funcției este direct proporțional cu numărul de ori de când este parcurs acel arc. .PP Părinții care nu sunt ei înșiși profilați vor avea timpul copiilor lor profilați propagat către ei, dar vor apărea ca fiind invocați spontan în listarea graficului de apeluri și nu vor avea timpul lor propagat mai departe. În mod similar, cei care captează semnale, chiar dacă sunt profilați, vor părea a fi spontani (deși din motive mai obscure). Orice copil profilat al captatorilor de semnal ar trebui să aibă timpii lor propagați în mod corespunzător, cu excepția cazului în care captatorul de semnal a fost invocat în timpul execuției rutinei de profilare, caz în care totul este pierdut. .PP Programul profilat trebuie să apeleze \f(CW„exit”\fP(2) sau să se întoarcă normal pentru ca informațiile de profilare să fie salvate în fișierul \fIgmon.out\fP. .SH "CONSULTAȚI ȘI" .IX Antet "CONSULTAȚI ȘI" \&\fBmonitor\fP\|(3), \fBprofil\fP\|(2), \fBcc\fP\|(1), \fBprof\fP\|(1), și intrarea Info pentru \fIgprof\fP. .PP „An Execution Profiler for Modular Programs”, de S. Graham, P. Kessler, M. McKusick; Software \- Practice and Experience, Vol. 13, paginile 671\-685, 1983. .PP „gprof: A Call Graph Execution Profiler”, de S. Graham, P. Kessler, M. McKusick; Proceedings of the SIGPLAN '82 Symposium on Compiler Construction, SIGPLAN Notices, Vol. 17, No 6, paginile 120\-126, iunie 1982. .SH "DREPTURI DE AUTOR" .IX Antet "DREPTURI DE AUTOR" Drepturi de autor © 1988\-2026 Free Software Foundation, Inc. .PP Se acordă permisiunea de a copia, distribui și/sau modifica acest document în conformitate cu termenii Licenței GNU Free Documentation, versiunea 1.3 sau orice versiune ulterioară publicată de Free Software Foundation; fără secțiuni invariante, fără texte de copertă și fără texte de contra copertă. O copie a licenței este inclusă în secțiunea intitulată „GNU Free Documentation License”. .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .