Ubunto 16.04、Lttng 2.8.1、および python3.5.2 を使用しました。python3-babeltrace パッケージもインストールしました。最初のステップは、lttng create、evenet-enable、start、stop、destroy を使用して、Lttng ドキュメントに正確に基づいていくつかのログを記録することでした。2 番目のステップでは、lttng イベントを読み取るための非常に単純な Python プログラムを作成します。次のようなものです。
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、セグメンテーション違反。/usr/lib/x86_64-linux-gnu/libbabeltrace.so.1 からの bt_iter_add_trace () の 0x00007ffff565d97f
誰でもこれについて何か考えがありますか?
すべてのパッケージをアンインストールし、ubuntu もアンインストールしてから再度インストールしますが、毎回同じエラーが発生します。Ubuntu 16.10 もインストールしようとしましたが、lttng-module パッケージのインストールで別のエラーが発生しました。
アップデート:
babeltrace コマンドと lttng ビューのいずれも機能せず、セグメンテーション フォールト エラーが発生することがわかりました。