1
從kprobe document:如何在kprobe中使用寄存器?
echo 'p:myprobe do_sys_open dfd=%ax filename=%dx flags=%cx mode=+4($stack)' > /sys/kernel/debug/tracing/kprobe_events
按我的理解,對X86_64
平臺,參數應傳遞到寄存器(請參閱X86_64 syscalls)。所以,我認爲加上探頭應該是這樣的:
echo 'p:myprobe do_sys_open dfd=%rdi filename=%rsi flags=%rdx mode=%rcx' > /sys/kernel/debug/tracing/kprobe_events
但是執行上面的語句,bash
抱怨:
-bash: echo: write error: Invalid argument
所以我的問題是:如何使用寄存器kprobe
?哪些寄存器有效?