函数逻辑报告 | 
Source Code:kernel\debug\kdb\kdb_support.c | 
Create Date:2022-07-27 12:47:18 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:kdbnearsym - Return the name of the symbol with the nearest address* less than 'addr'
函数原型:int kdbnearsym(unsigned long addr, kdb_symtab_t *symtab)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| unsigned long | addr | |
| kdb_symtab_t * | symtab | 
| 84 | ret等于0 | 
| 85 | symbolsize等于0 | 
| 86 | offset等于0 | 
| 88 | char * knt1 = NULL | 
| 90 | 如果KDB_DEBUG(AR)则kdb_printf("kdbnearsym: addr=0x%lx, symtab=%px\n", addr, symtab) | 
| 97 | 如果非knt1则 | 
| 98 | kdb_printf("kdbnearsym: addr=0x%lx cannot kmalloc knt1\n", addr) | 
| 100 | 转到:out | 
| 104 | 如果offset大于8乘1024乘1024则 | 
| 105 | Full symbol name, including* any version = NULL | 
| 106 | addr等于offset等于symbolsize等于0 | 
| 109 | sym_end等于sym_start加symbolsize | 
| 110 | ret等于Full symbol name, including* any version 不等于NULL且*Full symbol name, including* any version 不等于'\0' | 
| 112 | 如果ret则 | 
| 121 | 如果Full symbol name, including* any version 不等于knt1则 | 
| 123 | knt1[must be >= kallsyms table size - 1]等于'\0' | 
| 126 | 如果arbitrary size [i]且字符串比较恒等于0则退出 | 
| 131 | debug_kfree(arbitrary size [0]) | 
| 135 | 否则 | 
| 136 | debug_kfree(knt1) | 
| 137 | knt1等于arbitrary size [i] | 
| 138 | memmove(arbitrary size + i, arbitrary size + i + 1, arbitrary size [0]的长度 * (ARRAY_SIZE - get the number of elements in array @arr*@arr: array to be sized(arbitrary size ) - i - 1)) | 
| 142 | i等于ARRAY_SIZE - get the number of elements in array @arr*@arr: array to be sized(arbitrary size )减1 | 
| 143 | arbitrary size [i]等于knt1 | 
| 145 | knt1 = NULL | 
| 148 | 如果(Module containing symbol or* "kernel" == NULL)则Module containing symbol or* "kernel" 等于"kernel" | 
| 150 | 如果KDB_DEBUG(AR)则kdb_printf("kdbnearsym: returns %d symtab->sym_start=0x%lx, symtab->mod_name=%px, symtab->sym_name=%px (%s)\n", ret, sym_start, Module containing symbol or* "kernel" , Full symbol name, including* any version , Full symbol name, including* any version ) | 
| 156 | out : | 
| 157 | debug_kfree(knt1) | 
| 158 | 返回:ret | 
| 名称 | 描述 | 
|---|---|
| kdb_md_line | kdb_md - This function implements the 'md', 'md1', 'md2', 'md4',* 'md8' 'mdr' and 'mds' commands.* md|mds [ | 
| kdb_symbol_print | kdb_symbol_print - Standard method for printing a symbol name and offset | 
| kdb_print_nameval | kdb_print_nameval - Print a name and its value, converting the* value to a symbol lookup if possible.* Inputs:* name field name to print* val value of field | 
| kdbgetaddrarg | kdbgetaddrarg - This function is responsible for parsing an* address-expression and returning the value of the expression,* symbol name, and offset to the caller | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |