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