問題タブ [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.

0 投票する
1 に答える
237 参照

debugging - syscall イベント トレース出力の形式を ftrace に変更します。

syscallの ftrace イベント トレースを有効にしましsys_enter_openatた。で指定されたそれぞれの出力形式events/syscalls/sys_enter_openat/formatは次のとおりです。

予想どおり、ftrace へのサンプル出力行は次のようになります。

アドレスの代わりにfilename: 5af693f224表示できるように出力形式を変更する方法はありますか? filename: <string>これはsystemtaporを使用して可能krpobeだったと思いますが、現在のセットアップでは使用できません。

0 投票する
1 に答える
382 参照

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 を間違って使用していますか?