捕获系统调用但从 libc 中排除系统调用
catch syscall but exclude syscalls from libc
我需要捕获不是源自 libc 的 mprotect 系统调用,我该怎么做?
我不确定 gdb 是否可以过滤库名称:
Catchpoint 2 (call to syscall mprotect), 0x00007ffff74cde57 in mprotect () from /lib64/libc.so.6
I need to catch mprotect syscalls that is not originating from libc
通过过滤掉来自 libc.so.6
中特定地址的 mprotect
调用,您可能 几乎 达到预期的结果 -- 大多数 呼叫应该来自该地址:
(gdb) cond 2 $rip != 0x00007ffff74cde57
如果这还不够好,您应该能够使用嵌入式 Python 在达到捕获点后评估任意条件,使用 Breakpoint.stop 函数。
我需要捕获不是源自 libc 的 mprotect 系统调用,我该怎么做?
我不确定 gdb 是否可以过滤库名称:
Catchpoint 2 (call to syscall mprotect), 0x00007ffff74cde57 in mprotect () from /lib64/libc.so.6
I need to catch mprotect syscalls that is not originating from libc
通过过滤掉来自 libc.so.6
中特定地址的 mprotect
调用,您可能 几乎 达到预期的结果 -- 大多数 呼叫应该来自该地址:
(gdb) cond 2 $rip != 0x00007ffff74cde57
如果这还不够好,您应该能够使用嵌入式 Python 在达到捕获点后评估任意条件,使用 Breakpoint.stop 函数。