函数逻辑报告 |
Source Code:kernel\debug\kdb\kdb_debugger.c |
Create Date:2022-07-27 12:49:01 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:kdb_stub
函数原型:int kdb_stub(struct kgdb_state *ks)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct kgdb_state * | ks |
55 | error等于0 |
57 | addr等于kgdb_arch_pc(ex_vector, linux_regs) |
68 | pass_exception等于0 |
72 | 如果err_code恒等于In NMI due to SYSTEM cmd; regs valid 且signo恒等于SIGTRAP则reason等于In NMI due to SYSTEM cmd; regs valid |
75 | 否则如果in_nmi()则reason等于Non-maskable interrupt; regs valid |
81 | db_result等于 Breakpoint |
84 | 退出 |
89 | 如果 This entry is available 则继续下一循环 |
91 | 如果 Address breakpoint is present at 恒等于addr则 |
92 | Do delayed bp handling 等于1 |
93 | Delayed breakpoint 等于1 |
102 | db_result等于 Breakpoint |
103 | KDB_STATE_SET(SSBPT) |
104 | 退出 |
109 | 如果reason不等于Breakpoint inst. - regs valid 且ex_vector恒等于0且signo恒等于SIGTRAP则 |
112 | db_result等于 Breakpoint |
116 | kdb_common_init_state(ks) |
119 | KDB_STATE_CLEAR(DOING_SS) |
120 | KDB_STATE_SET(PAGER) |
121 | 如果err_code恒等于DIE_OOPS或reason恒等于Kernel Oops - regs valid 则 |
122 | pass_exception等于1 |
123 | KDB_FLAG_SET(CATASTROPHIC) |
127 | 如果非enter_kgdb则KDB_FLAG_SET(CATASTROPHIC) |
129 | 如果KDB_STATE(SSBPT)且reason恒等于Single Step trap. - regs valid 则 |
130 | KDB_STATE_CLEAR(SSBPT) |
131 | KDB_STATE_CLEAR(DOING_SS) |
132 | 否则 |
141 | kdb_common_deinit_state() |
142 | KDB_STATE_CLEAR(PAGER) |
143 | kdbnearsym_cleanup() |
144 | 如果error恒等于KDB_CMD_KGDB则 |
145 | 如果KDB_STATE(DOING_KGDB)则KDB_STATE_CLEAR(DOING_KGDB) |
152 | 如果KDB_STATE(DOING_SS)则gdbstub_state(ks, "s") |
154 | 否则gdbstub_state(ks, "c") |
160 | ret_state等于gdbstub_state(ks, "e") |
161 | 如果pass_exception则ret_state等于1 |
163 | 如果error恒等于KDB_CMD_CPU则 |
164 | KDB_STATE_SET(REENTRY) |
169 | kgdb_single_step等于0 |
173 | 返回:ret_state |
名称 | 描述 |
---|---|
kgdb_cpu_enter |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |