biegnę „perf” w następujący sposób:stosu wywołań w profilera perf
perf record -a --call-graph -p some_pid
perf report --call-graph --stdio
Następnie, widzę to:
1.60% my_binary my_binary [.] my_func
|
--- my_func
|
|--71.10%-- (nil)
| (nil)
|
--28.90%-- 0x17f310000000a
nie mogę zobaczyć, które funkcje Kontakt my_func(). Zamiast tego widzę "zero" i "0x17f310000000a". czy robię coś źle? Prawdopodobnie nie jest to problem z informacją o debugowaniu, ponieważ niektóre symbole są wyświetlane, a inne nie są wyświetlane.
Więcej informacji:
- mam runnning CentOS 6.2 (jądro 2.6.32-220.4.1).
- perf rpm - perf-2.6.32-279.5.2.el6.x86_64.
Nie próbowałem Zoom. Miałem nadzieję, że skorzystam z perf, który przychodzi za darmo. Czy Zoom rozwiąże ten problem? Czy korzystanie z perf z Zoom jest łatwe? Czy jest to wyjaśnione w dowolnym miejscu? – erezz
Zoom użyje domyślnie perf dla ostatnich dystrybucji Linuksa (jądro 2.6.38 lub nowsze). Jeśli korzystasz z wersji od 2.6.32 do 2.6.37, możesz ręcznie wybrać sterownik perf z wcześniejszych stron. Stworzyłem niestandardowe konfiguracje profilowania, aby uzyskać dostęp do zdarzeń monitorowania wydajności, ale nie brzmi to tak, jakbyś musiał zrobić coś wyjątkowego. Zwykły Profil Czasu powinien dostarczyć poszukiwanych danych dzwonka i symbolu. – federal
Twój moduł jądra nie rozładowuje się prawidłowo. \ [edit \] Dla tych, którzy wypróbowują Zoom z tego posta i nie mogą wyładować rrnotify, najpierw odmontuj/dev/rrnotify. \ [edit \] Jeśli uruchomisz system w języku innym niż angielski, wyeksportuj LC_ALL = C przed uruchomieniem Zoom; Zoom nie obsługuje poprawnie formatów liczb innych niż angielskie. – FeepingCreature