GNU/Linux >> Znalost Linux >  >> Linux

gprof:příkaz nenalezen

Standardní GNU profiler, gprof, je dostupný pro většinu unixových systémů. gprof je součástí GNU toolchainu a byl jedním z prvních open source nástrojů pro profilování kódu. Kombinuje instrumentaci v době kompilace a techniky vzorkování s použitím vzorkovací frekvence 100 Hz. Má tu výhodu, že nevyžaduje podporu jádra.

Chcete-li připravit program pro profilování pomocí gprof, přidejte -pg do příznaků kompilace a propojení, což vloží kód shromažďující informace o stromu volání do preambule funkce. Když program spustíte, vzorky se shromáždí a uloží do vyrovnávací paměti, která se po ukončení programu zapíše do souboru s názvem gmon.out.

pokud při spuštění příkazu gprof narazíte na níže uvedenou chybu:

 

můžete zkusit nainstalovat balíček binutils, jak je uvedeno níže, podle vaší volby distribuce.

Distribuce Příkaz
OS X brew install binutils
Debian apt-get install binutils
Ubuntu apt-get install binutils
Alpine apk add binutils
Arch Linux binutils pacman -S
Kali Linux apt-get install binutils
CentOS yum install binutils
Fedora dnf install binutils
Raspbian apt-get install binutils

gprof zobrazí data profilu pro soubor objektu. Tabulka symbolů souboru je porovnána se souborem profilu grafu volání gmon.out (dříve vytvořeným kompilací pomocí gcc -pg). Mnoho voleb gprof používá argument specifikace symbolu nebo sympspec, aby se volba omezila na zadané soubory nebo funkce. Symspec může být název souboru, funkce nebo číslo řádku. Může být také zadán jako název_souboru:funkce nebo název_souboru:číslo řádku pro určení funkce nebo čísla řádku v konkrétním souboru. gprof očekává, že názvy souborů budou obsahovat tečku a funkce nebudou obsahovat tečku.


Linux
  1. Sudo:Příkaz nenalezen?

  2. vdir:příkaz nenalezen

  3. uuidgen:příkaz nenalezen

  1. named-checkconf:příkaz nenalezen

  2. virt-sparsify:příkaz nenalezen

  3. update-alternatives:příkaz nenalezen

  1. yum-config-manager:příkaz nenalezen

  2. yum:příkaz nenalezen

  3. arpspoof:příkaz nenalezen