gdb 调试
Posted 黄树超
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于gdb 调试的主要内容,如果未能解决你的问题,请参考以下文章