GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Quellzeilennummern im Leistungsanrufdiagramm?

Ich habe es zufällig in perf script lose dokumentiert gefunden , aber es gilt auch für andere Befehle:-F Option akzeptiert srcline . Sie können also -F+srcline ausführen um die Zeilennummer zu bestehenden Spalten hinzuzufügen.

Beispiel:perf report -g fractal -F+period,srcline

Samples: 22K of event 'cycles:u', Event count (approx.): 13031011295
  Children      Self        Period  Source:Line                           Command  Shared Object        Symbol
+   99.98%    38.76%    5051224000  test.cpp:7                            a        a                    [.] fib
+   96.42%     0.00%             0  _start+94372992700461                 a        a                    [.] _start
+   96.42%     0.00%             0  __libc_start_main+140304673091826     a        libc-2.29.so         [.] __libc_start_main
+   96.42%     0.00%             0  test.cpp:13                           a        a                    [.] main
+   21.47%    21.47%    2797741850  test.cpp:8                            a        a                    [.] fib
+   16.69%    16.69%    2174469736  test.cpp:4                            a        a                    [.] fib
+   16.37%    16.36%    2132462705  test.cpp:6                            a        a                    [.] fib
+    6.69%     6.69%     871128215  test.cpp:5                            a        a                    [.] fib

Fragmente (vollständige Zeilen) des Quellcodes werden von perf im Anmerkungsmodus gedruckt (Manpage; relevanter Teil von The Perf Tutorial). Verwenden Sie perf annotate -s=MyFunction oder in perf report Scrollen Sie nach unten zu dem Unterbaum, in dem Ihre MyFunction die Wurzel des Baums ist (Zeile, in der die eigene Zeit gemeldet wird; Sie können / verwenden Befehl, um danach zu suchen) und wählen Sie dann a Taste (oder Enter dann kommentieren Sie "MyFunction").

Der Quellcode und seine Zeilen sollten im Anmerkungsmodus in der Nähe von Fließbändern sichtbar sein. http://man7.org/linux/man-pages/man1/perf-annotate.1.html

Dieser Befehl liest die Eingabedatei und zeigt eine kommentierte Version des Codes an. Wenn die Objektdatei Debug-Symbole enthält, wird der Quellcode neben dem Assembler-Code angezeigt.

   -l, --print-line
       Print matching source lines (may be slow).
  --source
      Interleave source code with assembly code. Enabled by default,
       disable with `--no-source`.
   -s, --symbol=<symbol>
       Symbol to annotate.

Der Leistungsbericht kann Srclines beim Sortieren verwenden (--sort= Option), aber Anweisungen sind unklar. Seine Handbuchseite dokumentiert --source Option auch, aber anscheinend wird sie nur im Annotate some_function Modus verwendet:http://man7.org/linux/man-pages/man1/perf-report.1.html

  --source
       Interleave source code with assembly code. Enabled by default,
       disable with --no-source.

Linux
  1. Bash-Befehlszeilen-Exit-Codes entmystifiziert

  2. Grep für eine Zeile, die nur 5 oder 6 Zahlen enthält?

  3. Wie zeige ich Zeilennummern in vi/vim an?

  4. Wo finde ich den Quellcode für Systemaufrufe?

  5. Verstecken Sie Argumente, um ohne Quellcode zu programmieren

So zeigen Sie Zeilennummern in Vim / Vi an

Grundlagen zum Kompilieren von Software aus dem Quellcode unter Linux

Ohcount – Der Quellcode-Zeilenzähler und -Analysator

Ppa-Quellcode entfernen?

So zeigen oder verbergen Sie Zeilennummern in Vim

So zeigen Sie Zeilennummern in Gedit an