函数逻辑报告 |
Source Code:arch\x86\kernel\dumpstack.c |
Create Date:2022-07-27 08:34:09 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:show_trace_log_lvl
函数原型:void show_trace_log_lvl(struct task_struct *task, struct pt_regs *regs, unsigned long *stack, char *log_lvl)
返回类型:void
参数:
类型 | 参数 | 名称 |
---|---|---|
struct task_struct * | task | |
struct pt_regs * | regs | |
unsigned long * | stack | |
char * | log_lvl |
166 | struct stack_info stack_info = {0} |
167 | visit_mask等于0 |
168 | graph_idx等于0 |
169 | bool partial = false |
173 | unwind_start( & state, task, regs, stack) |
174 | stack等于如果stack否则get_stack_pointer(task, regs) |
175 | regs等于unwind_get_entry_regs( & state, & partial) |
196 | 如果get_stack_info(stack, task, & stack_info, & visit_mask)则 |
203 | stack等于 align the pointer to the (next) page boundary ((unsignedlong)stack) |
204 | 如果get_stack_info(stack, task, & stack_info, & visit_mask)则退出 |
208 | stack_name等于stack_type_name(type) |
209 | 如果stack_name则printk("%s <%s>\n", log_lvl, stack_name) |
212 | 如果regs则show_regs_if_on_stack( & stack_info, regs, partial) |
227 | reliable等于0 |
228 | addr等于Use READ_ONCE_NOCHECK() instead of READ_ONCE() if you need* to hide memory access from KASAN.( * stack) |
229 | ret_addr_p等于unwind_get_return_address_ptr( & state) |
232 | 如果非__kernel_text_address(addr)则继续下一循环 |
242 | 如果stack恒等于ret_addr_p则reliable等于1 |
256 | 如果real_addr不等于addr则printk_stack_address(addr, 0, log_lvl) |
260 | 如果非reliable则继续下一循环 |
263 | next : |
269 | unwind_next_frame( & state) |
272 | regs等于unwind_get_entry_regs( & state, & partial) |
273 | 如果regs则show_regs_if_on_stack( & stack_info, regs, partial) |
277 | 如果stack_name则printk("%s </%s>\n", log_lvl, stack_name) |
名称 | 描述 |
---|---|
show_stack | |
show_stack_regs | |
show_regs |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |