Function report |
Source Code:kernel\debug\kdb\kdb_bp.c |
Create Date:2022-07-28 11:44:06 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:_kdb_bp_install
Proto:static int _kdb_bp_install(struct pt_regs *regs, kdb_bp_t *bp)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct pt_regs * | regs | |
| kdb_bp_t * | bp |
| 132 | If KDB_DEBUG(BP) Then kdb_printf("%s: bp_installed %d\n", __func__, Breakpoint is installed ) |
| 135 | If Not KDB_STATE(SSBPT) Then Do delayed bp handling = 0 |
| 137 | If Breakpoint is installed Then Return 1 |
| 139 | If Do delayed bp handling || Delayed breakpoint && KDB_STATE(DOING_SS) Then |
| 140 | If KDB_DEBUG(BP) Then kdb_printf("%s: delayed bp\n", __func__) |
| 142 | kdb_handle_bp(regs, bp) |
| 143 | Return 0 |
| 145 | If Not Uses hardware register Then ret = dbg_set_sw_break( Address breakpoint is present at ) |
| 147 | Else ret = set_hw_breakpoint( Address breakpoint is present at , HW break length , Uses hardware register ) |
| 151 | If ret == 0 Then |
| 152 | Breakpoint is installed = 1 |
| 153 | Else |
| 154 | kdb_printf("%s: failed to set breakpoint at 0x%lx\n", __func__, Address breakpoint is present at ) |
| 156 | If Not Uses hardware register Then |
| 157 | kdb_printf("Software breakpoints are unavailable.\n Boot the kernel with rodata=off\n OR use hw breaks: help bph\n") |
| 161 | Return 1 |
| 163 | Return 0 |
| Name | Describe |
|---|---|
| kdb_bp_install | kdb_bp_install* Install kdb_breakpoints prior to returning from the* kernel debugger. This allows the kdb_breakpoints to be set* upon functions that are used internally by kdb, such as* printk(). This function is only called once per kdb session. |
| Source code conversion tool public plug-in interface | X |
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |