0

我使用了 Ubunto 16.04、Lttng 2.8.1 和 python3.5.2。我还安装了 python3-babeltrace 包。第一步是我完全根据lttng文档记录了一些日志,用lttng create、eventet-enable、start、stop、destroy。在第二步中,我编写了一个非常简单的 python 程序来读取 lttng 事件,如下所示:

from collections import Counter
import babeltrace
import sys

print("Start")

trace_path = sys.argv[1]

print("1-Get Path")

col = babeltrace.TraceCollection()

print("2-TraceCollection")

# (LTTng traces always have the 'ctf' format)
if col.add_trace(trace_path, 'ctf') is None:
    raise RuntimeError('Cannot add trace')

print("3-Add trace by ctf")

for event in col.events:
    print(event.name)

print("4-Get all events") 

然后我用 gdb 调试程序,然后输出:

Start
1-Get Path
2-TraceCollection
3-Add trace by ctf

我得到了错误:

程序收到信号 SIGSEGV,分段错误。0x00007ffff565d97f in bt_iter_add_trace () from /usr/lib/x86_64-linux-gnu/libbabeltrace.so.1

有人对此有任何想法吗?

我卸载了所有软件包,也卸载了 ubuntu,然后再次安装,但每次都遇到同样的错误。我也尝试安装 Ubuntu 16.10,但是在安装 lttng-module 包时我遇到了另一个错误。

更新:

发现babeltrace命令和lttng视图都没有工作,导致segmentation fault错误。

4

0 回答 0