函数逻辑报告 |
Source Code:arch\x86\kernel\unwind_frame.c |
Create Date:2022-07-27 09:50:47 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:unwind_next_frame
函数原型:bool unwind_next_frame(struct unwind_state *state)
返回类型:bool
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct unwind_state * | state |
| 265 | 如果unwind_done(state)则返回:false |
| 272 | 如果is_last_task_frame(state)则 |
| 301 | 如果next_bp则 |
| 304 | 否则如果regs则 |
| 306 | 否则 |
| 311 | 如果非update_stack_state(state, next_bp)则转到:bad_address |
| 314 | 返回:true |
| 316 | bad_address : |
| 317 | error = true |
| 333 | 如果got_irq且in_entry_code(ip)则转到:the_end |
| 335 | 如果regs且sp大于等于last_aligned_frame(state)且sp小于task_pt_regs(task)则转到:the_end |
| 344 | 如果IS_ENABLED(CONFIG_FOO) evaluates to 1 if CONFIG_FOO is set to 'y' or 'm',* 0 otherwise.(CONFIG_X86_32)则转到:the_end |
| 347 | 如果regs则 |
| 348 | printk_deferred_once(warning conditions "WARNING: kernel stack regs at %p in %s:%d has bad 'bp' value %p\n", regs, 是否使用FPU, 进程ID, next_bp) |
| 352 | unwind_dump(state) |
| 353 | 否则 |
| 354 | printk_deferred_once(warning conditions "WARNING: kernel stack frame pointer at %p in %s:%d has bad value %p\n", bp, 是否使用FPU, 进程ID, next_bp) |
| 358 | unwind_dump(state) |
| 360 | the_end : |
| 361 | type等于STACK_TYPE_UNKNOWN |
| 362 | 返回:false |
| 名称 | 描述 |
|---|---|
| __unwind_start | |
| __unwind_start | |
| show_trace_log_lvl | |
| arch_stack_walk | |
| arch_stack_walk_reliable | This function returns an error if it detects any unreliable features of the* stack. Otherwise it guarantees that the stack trace is reliable.* If the task is not 'current', the caller *must* ensure the task is inactive. |
| __unwind_start |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |