問題タブ [tracepoint]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
debugging - syscall イベント トレース出力の形式を ftrace に変更します。
syscallの ftrace イベント トレースを有効にしましsys_enter_openat
た。で指定されたそれぞれの出力形式events/syscalls/sys_enter_openat/format
は次のとおりです。
予想どおり、ftrace へのサンプル出力行は次のようになります。
アドレスの代わりにfilename: 5af693f224
表示できるように出力形式を変更する方法はありますか? filename: <string>
これはsystemtap
orを使用して可能krpobe
だったと思いますが、現在のセットアップでは使用できません。
linux-kernel - kprobe_events fetch-args は x86 では機能しますが、arm64 では機能しません
do_sys_open
ファイル名引数を文字列として取得したかった。このために、 kprobe に続いてkprobetrace.txtを追加しました。ファイル名を 16 進数で指定する単純なプローブは、両方で機能しx86/arm64
ます。
ただし、プローブを変更してファイル名の文字列を取得することはできますが、機能しx86
ませんarm64
(つまり、文字列表現を取得できませんfilename_string=(fault)
) 。
x86:
アーム64:
アーム ABI を正しく使用しているかどうかを確認するために、 を使用してプローブを設定してみperf
ました。から見た perf によって作成されたプローブ/sys/kernel/debug/tracing/kprobe_events
は類似していました
しかし、perf プローブも失敗していました (つまりfilename_string=""
、この場合)。
kprobe_events
アームが引数を文字列としてフェッチするように設定する正しい方法は何でしょうか? ABI を間違って使用していますか?