【发布时间】:2017-01-26 14:00:34
【问题描述】:
我正在尝试使用 oprofile 生成调用图,但由于某种原因它失败了。 我正在使用下面的命令来配置它:
opcontrol --shutdown
opcontrol --reset
opcontrol --no-vmlinux
opcontrol --separate=library
opcontrol --event=default
opcontrol --callgraph=20
opcontrol --status
我明白了:
Daemon not running
Event 0: CPU_CLK_UNHALTED:100000:0:1:1
Separate options: library
vmlinux file: none
Image filter: none
Call-graph depth: 20
Buffer size: 10000000
CPU buffer watershed: 2560000
CPU buffer size: 160000
然后在尝试生成调用图时(例如使用opreport pdpd -l --callgraph -o profile_pdp.txt)
我明白了:
30 0.7659 libpthread-2.5.so pthread_mutex_lock
30 100.000 libpthread-2.5.so pthread_mutex_lock [self]
我的linux内核版本是2.6.18
运行 opreport 时确实出现以下错误(不知道是否相关):
opreport: /usr/lib64/libstdc++.so.6: no version information available (required by opreport)
知道为什么我无法获得完整的调用图吗?
【问题讨论】:
-
发现问题,在调试 32 位 exe 时使用 64 位内核,不知道为什么是 oprofile 的问题
标签: profiling callstack call-graph oprofile