2

我正在尝试使用 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)

知道为什么我无法获得完整的通话记录吗?

4

1 回答 1

1

发现问题,它在调试 32 位 exe 时使用 64 位内核,不知道为什么这是 oprofile 的问题。

于 2017-02-14T09:28:33.417 回答