调试代码老是卡死,基本上只要设置断点,即使什么都不做,直接continue,就会一直卡在Process 1505 resuming,不能继续执行。
(lldb) br s -a 0x0172140+0x00064000
Breakpoint 1: where = MonkeyPark`_mh_execute_header + 1473424, address = 0x001d6140
Process 1505 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
frame #0: 0x001d6140 MonkeyPark`_mh_execute_header + 1499456
MonkeyPark`_mh_execute_header:
-> 0x1d6140 <+1499456>: stmdavs r6, {r3, r5, r11, sp, lr} ^
0x1d6144 <+1499460>: ldrmi r4, [r0, r8, lsr #12]!
0x1d6148 <+1499464>: vmla.i8 d25, d0, d1
0x1d614c <+1499468>: bls 0x21c638 ; MonkeyPark.__TEXT.__text + 1761416
Target 0: (MonkeyPark) stopped.
(lldb) c
Process 1505 resuming
(lldb)
有时候会出现 EXC_BAD_ACCESS
Process 1134 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
frame #0: 0x0025c140 MonkeyPark`_mh_execute_header + 1499456
MonkeyPark`_mh_execute_header:
-> 0x25c140 <+1499456>: stmdavs r6, {r3, r5, r11, sp, lr} ^
0x25c144 <+1499460>: ldrmi r4, [r0, r8, lsr #12]!
0x25c148 <+1499464>: vmla.i8 d25, d0, d1
0x25c14c <+1499468>: bls 0x2a2638 ; MonkeyPark.__TEXT.__text + 1761416
Target 0: (MonkeyPark) stopped.
(lldb) c
Process 1134 resuming
Process 1134 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xa3ec)
frame #0: 0x0000a3ec
error: memory read failed for 0xa200
Target 0: (MonkeyPark) stopped.