函数逻辑报告 |
Source Code:arch\x86\kernel\kprobes\core.c |
Create Date:2022-07-27 09:37:54 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:setup_singlestep
函数原型:static void setup_singlestep(struct kprobe *p, struct pt_regs *regs, struct kprobe_ctlblk *kcb, int reenter)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct kprobe * | p | |
struct pt_regs * | regs | |
struct kprobe_ctlblk * | kcb | |
int | reenter |
584 | 如果setup_detour_execution(p, regs, reenter)则返回 |
601 | 如果reenter则 |
602 | save_previous_kprobe(kcb) |
603 | set_current_kprobe(p, regs, kcb) |
605 | 否则kprobe_status等于KPROBE_HIT_SS |
608 | clear_btf() |
609 | flags或等于X86_EFLAGS_TF |
610 | flags与等于X86_EFLAGS_IF的反 |
612 | 如果 Saved opcode (which has been replaced with breakpoint) 恒等于BREAKPOINT_INSTRUCTION则ip等于 location of the probe point |
名称 | 描述 |
---|---|
reenter_kprobe | We have reentered the kprobe_handler(), since another probe was hit while* within the handler. We save the original kprobes variables and just single* step on the instruction of the new probe without calling any user handlers. |
kprobe_int3_handler | Interrupts are disabled on entry as trap3 is an interrupt gate and they* remain disabled throughout this function. |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |