函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |