gdb 调试

gdb 调试
强烈推介IDEA2021.1.3破解激活,IntelliJ IDEA 注册码,2021.1.3IDEA 激活码  

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说gdb 调试,希望能够帮助大家进步!!!

info reg

(gdb) info reg
r0             0x0    0
r1             0x0    0
r2             0x0    0
r3             0x1e    30
r4             0x649598    6591896
r5             0xb300a568    3003164008
r6             0x6495a0    6591904
r7             0x8b8    2232
r8             0x649590    6591888
r9             0x14d4    5332
r10            0x8b8    2232
r11            0x1    1
r12            0x0    0
sp             0xb300a120    0xb300a120
lr             0xbf2b0    783024
pc             0x81ed8    0x81ed8 <CustomView_FreeConfig+192>
cpsr           0x10    16

 

(gdb) disassemble
Dump of assembler code for function CustomView_FreeConfig:
   0x00081e18 <+0>:    push    {r4, r5, r6, r7, r8, r9, r10, r11, lr}
   0x00081e1c <+4>:    subs    r6, r0, #0
   0x00081e20 <+8>:    sub    sp, sp, #12
   0x00081e24 <+12>:    beq    0x82004 <CustomView_FreeConfig+492>
   0x00081e28 <+16>:    ldr    r3, [r6, #28]
   0x00081e2c <+20>:    cmp    r3, #0
   0x00081e30 <+24>:    beq    0x81e50 <CustomView_FreeConfig+56>
   0x00081e34 <+28>:    ldr    r0, [r6, #24]
   0x00081e38 <+32>:    cmp    r0, #0
   0x00081e3c <+36>:    beq    0x81e50 <CustomView_FreeConfig+56>
   0x00081e40 <+40>:    bl    0xc4cc <free>
   0x00081e44 <+44>:    mov    r3, #0
   0x00081e48 <+48>:    str    r3, [r6, #28]
   0x00081e4c <+52>:    str    r3, [r6, #24]
   0x00081e50 <+56>:    ldr    r3, [r6, #8]
   0x00081e54 <+60>:    cmp    r3, #0
   0x00081e58 <+64>:    bne    0x82010 <CustomView_FreeConfig+504>
   0x00081e5c <+68>:    ldr    r0, [r6, #20]
   0x00081e60 <+72>:    cmp    r0, #0
   0x00081e64 <+76>:    beq    0x81e74 <CustomView_FreeConfig+92>
   0x00081e68 <+80>:    bl    0xc4cc <free>
   0x00081e6c <+84>:    mov    r3, #0
   0x00081e70 <+88>:    str    r3, [r6, #20]
   0x00081e74 <+92>:    ldr    r3, [r6]
   0x00081e78 <+96>:    tst    r3, #32
   0x00081e7c <+100>:    bne    0x82030 <CustomView_FreeConfig+536>
   0x00081e80 <+104>:    ldr    r3, [r6, #52]    ; 0x34
   0x00081e84 <+108>:    cmp    r3, #0
   0x00081e88 <+112>:    addne    r0, r6, #32
   0x00081e8c <+116>:    blne    0xcb08 <UnloadBitmap>
   0x00081e90 <+120>:    ldr    r3, [r6, #140]    ; 0x8c
   0x00081e94 <+124>:    cmp    r3, #0
   0x00081e98 <+128>:    str    r3, [sp, #4]
   0x00081e9c <+132>:    ldrle    r0, [r6, #144]    ; 0x90
   0x00081ea0 <+136>:    ble    0x81f64 <CustomView_FreeConfig+332>
   0x00081ea4 <+140>:    mov    r10, #0
   0x00081ea8 <+144>:    ldr    r0, [r6, #144]    ; 0x90
   0x00081eac <+148>:    ldr    r9, [pc, #400]    ; 0x82044 <CustomView_FreeConfig+556>
   0x00081eb0 <+152>:    mov    r11, r10
   0x00081eb4 <+156>:    b    0x81ed0 <CustomView_FreeConfig+184>
   0x00081eb8 <+160>:    ldr    r3, [sp, #4]
   0x00081ebc <+164>:    add    r11, r11, #1
   0x00081ec0 <+168>:    add    r10, r10, #2224    ; 0x8b0
   0x00081ec4 <+172>:    cmp    r3, r11
   0x00081ec8 <+176>:    add    r10, r10, #8
   0x00081ecc <+180>:    ble    0x81f64 <CustomView_FreeConfig+332>
   0x00081ed0 <+184>:    adds    r7, r0, r10
   0x00081ed4 <+188>:    beq    0x81eb8 <CustomView_FreeConfig+160>
=> 0x00081ed8 <+192>:    ldr    r3, [r7, #8]
   0x00081edc <+196>:    cmp    r3, #3
   0x00081ee0 <+200>:    bne    0x81eb8 <CustomView_FreeConfig+160>
   0x00081ee4 <+204>:    ldr    r8, [r7, #124]    ; 0x7c
   0x00081ee8 <+208>:    cmp    r8, #0
   0x00081eec <+212>:    ble    0x81eb8 <CustomView_FreeConfig+160>
   0x00081ef0 <+216>:    mov    r5, r7
   0x00081ef4 <+220>:    mov    r4, #0
   0x00081ef8 <+224>:    b    0x81f14 <CustomView_FreeConfig+252>
   0x00081efc <+228>:    ldr    r3, [r6, r9]
   0x00081f00 <+232>:    cmp    r3, #0
   0x00081f04 <+236>:    beq    0x81f2c <CustomView_FreeConfig+276>
   0x00081f08 <+240>:    cmp    r8, r4
   0x00081f0c <+244>:    add    r5, r5, #32
   0x00081f10 <+248>:    ble    0x81f48 <CustomView_FreeConfig+304>
   0x00081f14 <+252>:    ldr    r3, [r6]
   0x00081f18 <+256>:    add    r0, r7, r4, lsl #5
   0x00081f1c <+260>:    tst    r3, #32
   0x00081f20 <+264>:    add    r4, r4, #1
   0x00081f24 <+268>:    add    r0, r0, #248    ; 0xf8
   0x00081f28 <+272>:    bne    0x81efc <CustomView_FreeConfig+228>
   0x00081f2c <+276>:    ldr    r3, [r5, #268]    ; 0x10c
   0x00081f30 <+280>:    cmp    r3, #0
   0x00081f34 <+284>:    beq    0x81f08 <CustomView_FreeConfig+240>
   0x00081f38 <+288>:    bl    0xcb08 <UnloadBitmap>
   0x00081f3c <+292>:    cmp    r8, r4
   0x00081f40 <+296>:    add    r5, r5, #32
   0x00081f44 <+300>:    bgt    0x81f14 <CustomView_FreeConfig+252>
   0x00081f48 <+304>:    ldr    r3, [sp, #4]
   0x00081f4c <+308>:    add    r11, r11, #1
   0x00081f50 <+312>:    add    r10, r10, #2224    ; 0x8b0
   0x00081f54 <+316>:    cmp    r3, r11
   0x00081f58 <+320>:    ldr    r0, [r6, #144]    ; 0x90
   0x00081f5c <+324>:    add    r10, r10, #8
   0x00081f60 <+328>:    bgt    0x81ed0 <CustomView_FreeConfig+184>
   0x00081f64 <+332>:    cmp    r0, #0
   0x00081f68 <+336>:    beq    0x82004 <CustomView_FreeConfig+492>
   0x00081f6c <+340>:    ldr    r3, [r6, #140]    ; 0x8c
   0x00081f70 <+344>:    cmp    r3, #0
   0x00081f74 <+348>:    ble    0x81ff8 <CustomView_FreeConfig+480>
   0x00081f78 <+352>:    mov    r5, #0
   0x00081f7c <+356>:    mov    r7, r5
   0x00081f80 <+360>:    mov    r8, r5
   0x00081f84 <+364>:    b    0x81f8c <CustomView_FreeConfig+372>
   0x00081f88 <+368>:    ldr    r0, [r6, #144]    ; 0x90
   0x00081f8c <+372>:    add    r4, r0, r5
   0x00081f90 <+376>:    ldr    r0, [r4, #32]
   0x00081f94 <+380>:    add    r7, r7, #1
   0x00081f98 <+384>:    cmp    r0, #0
   0x00081f9c <+388>:    add    r5, r5, #2224    ; 0x8b0
   0x00081fa0 <+392>:    beq    0x81fac <CustomView_FreeConfig+404>
   0x00081fa4 <+396>:    bl    0xc4cc <free>
   0x00081fa8 <+400>:    str    r8, [r4, #32]
   0x00081fac <+404>:    ldr    r3, [r4, #40]    ; 0x28
   0x00081fb0 <+408>:    add    r5, r5, #8
   0x00081fb4 <+412>:    cmp    r3, #0
   0x00081fb8 <+416>:    beq    0x81fd4 <CustomView_FreeConfig+444>
   0x00081fbc <+420>:    ldr    r0, [r4, #36]    ; 0x24
   0x00081fc0 <+424>:    cmp    r0, #0
   0x00081fc4 <+428>:    beq    0x81fd4 <CustomView_FreeConfig+444>
   0x00081fc8 <+432>:    bl    0xc4cc <free>
   0x00081fcc <+436>:    str    r8, [r4, #40]    ; 0x28
   0x00081fd0 <+440>:    str    r8, [r4, #36]    ; 0x24
   0x00081fd4 <+444>:    ldr    r0, [r4, #1364]    ; 0x554
   0x00081fd8 <+448>:    cmp    r0, #0
   0x00081fdc <+452>:    beq    0x81fe8 <CustomView_FreeConfig+464>
   0x00081fe0 <+456>:    bl    0xc4cc <free>
   0x00081fe4 <+460>:    str    r8, [r4, #1364]    ; 0x554
   0x00081fe8 <+464>:    ldr    r3, [r6, #140]    ; 0x8c
   0x00081fec <+468>:    cmp    r3, r7
   0x00081ff0 <+472>:    bgt    0x81f88 <CustomView_FreeConfig+368>
   0x00081ff4 <+476>:    ldr    r0, [r6, #144]    ; 0x90
   0x00081ff8 <+480>:    bl    0xc4cc <free>
   0x00081ffc <+484>:    mov    r3, #0
   0x00082000 <+488>:    str    r3, [r6, #144]    ; 0x90
   0x00082004 <+492>:    add    sp, sp, #12
   0x00082008 <+496>:    pop    {r4, r5, r6, r7, r8, r9, r10, r11, lr}
   0x0008200c <+500>:    bx    lr
   0x00082010 <+504>:    ldr    r0, [r6, #4]
   0x00082014 <+508>:    cmp    r0, #0
   0x00082018 <+512>:    beq    0x81e5c <CustomView_FreeConfig+68>
   0x0008201c <+516>:    bl    0xc4cc <free>
   0x00082020 <+520>:    mov    r3, #0
   0x00082024 <+524>:    str    r3, [r6, #8]
   0x00082028 <+528>:    str    r3, [r6, #4]
   0x0008202c <+532>:    b    0x81e5c <CustomView_FreeConfig+68>
   0x00082030 <+536>:    ldr    r3, [pc, #12]    ; 0x82044 <CustomView_FreeConfig+556>
   0x00082034 <+540>:    ldr    r3, [r6, r3]
   0x00082038 <+544>:    cmp    r3, #0
   0x0008203c <+548>:    bne    0x81e90 <CustomView_FreeConfig+120>
   0x00082040 <+552>:    b    0x81e80 <CustomView_FreeConfig+104>
   0x00082044 <+556>:    ldrdeq    r1, [r0], -r4
End of assembler dump.

 

(gdb) x 0x8b8
0x8b8:    Cannot access memory at address 0x8b8

 

转载于:https://www.cnblogs.com/schips/p/10749252.html

本文来源weixin_30595035,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/29881

发表评论