函数逻辑报告 |
Source Code:kernel\debug\kdb\kdb_io.c |
Create Date:2022-07-27 12:44:05 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:vkdb_printf
函数原型:int vkdb_printf(enum kdb_msgsrc src, const char *fmt, va_list ap)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| enum kdb_msgsrc | src | |
| const char * | fmt | |
| va_list | ap |
| 550 | saved_loglevel等于0 |
| 551 | retlen等于0 |
| 554 | cphold等于NULL, replaced_byte等于' ' |
| 555 | moreprompt等于"more> " |
| 556 | c等于console_drivers |
| 563 | local_irq_save(flags) |
| 565 | 循环 |
| 566 | old_cpu等于cmpxchg( & kdb_printf_cpu, - 1, this_cpu) |
| 570 | cpu_relax() |
| 573 | diag等于kdbgetintenv("LINES", & linecount) |
| 577 | diag等于kdbgetintenv("COLUMNS", & colcount) |
| 581 | diag等于kdbgetintenv("LOGGING", & logging) |
| 602 | cp等于strchr - Find the first occurrence of the character c in the string s.*@s: the string to be searched*@c: the character to search for |
| 603 | 如果非cp则 |
| 617 | 如果next_avail恒等于A bit too big to go on stack 则 |
| 625 | 如果非字符串指定长度比较则 |
| 632 | 转到:kdb_printit |
| 639 | size_avail等于A bit too big to go on stack 的长度减len |
| 640 | 转到:kdb_print_out |
| 647 | cp自加 |
| 648 | replaced_byte等于cp |
| 650 | cp等于'\0' |
| 657 | fnd等于search arg1 to see if it contains arg2* (kdmain.c provides flags for ^pat and pat$)* return 1 for found, 0 for not found |
| 658 | 如果非fnd则 |
| 683 | kdb_printit : |
| 691 | gdbstub_msg_write(cp, retlen - (cp - A bit too big to go on stack )) |
| 692 | 否则 |
| 707 | 如果logging则 |
| 712 | 否则打印信息("%s", A bit too big to go on stack ) |
| 722 | got等于0 |
| 725 | 如果A bit too big to go on stack [len]恒等于'\n'则 |
| 727 | got等于0 |
| 728 | 否则如果A bit too big to go on stack [len]恒等于'\r'则 |
| 729 | got等于0 |
| 730 | 否则 |
| 731 | got自加 |
| 734 | Current number of lines displayed 加等于got除colcount加1的和 |
| 738 | 如果Current number of lines displayed 大于等于linecount则 |
| 750 | moreprompt等于kdbgetenv("MOREPROMPT") |
| 751 | 如果(moreprompt == NULL)则moreprompt等于"more> " |
| 755 | c等于console_drivers |
| 757 | 如果dbg_io_ops且非is_console则 |
| 759 | cp等于moreprompt |
| 761 | write_char( * cp) |
| 762 | cp自加 |
| 778 | A bit too big to go on stack [0]等于'\0' |
| 780 | size_avail等于A bit too big to go on stack 的长度 |
| 784 | KDB_STATE_CLEAR(PAGER) |
| 787 | kdb_printf("\n") |
| 788 | 否则如果ch恒等于' '则 |
| 789 | kdb_printf("\r") |
| 790 | suspend_grep等于1 |
| 795 | 否则如果ch恒等于'/'且非Miscellaneous functions and data areas 则 |
| 796 | kdb_printf("\r") |
| 801 | suspend_grep等于1 |
| 802 | 否则如果ch则 |
| 804 | suspend_grep等于1 |
| 805 | 如果ch不等于'/'则kdb_printf("\nOnly 'q', 'Q' or '/' are processed at more prompt, input ignored\n") |
| 809 | 否则kdb_printf("\n'/' cannot be used during | grep filtering, input ignored\n") |
| 812 | 否则如果Miscellaneous functions and data areas 则 |
| 814 | suspend_grep等于1 |
| 815 | kdb_printf("\n") |
| 827 | cphold等于replaced_byte |
| 831 | size_avail等于A bit too big to go on stack 的长度减len |
| 834 | kdb_print_out : |
| 835 | suspend_grep等于0 |
| 839 | smp_store_release( & kdb_printf_cpu, old_cpu) |
| 840 | local_irq_restore(flags) |
| 841 | 返回:retlen |
| 名称 | 描述 |
|---|---|
| kdb_printf | |
| vprintk_default |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |