在Android调试过程中,经常会遇到一些小问题以及解决的方法分享给大家,抛砖引玉。
1、使用模拟器调试可能经常遇到异常,然后就进行不下去了,最好换成手机。
2、即使用手机时,也可能会遇到异常造成单步或RUN卡死在一条指令上的问题。这样可以手动的执行这条指令,然后将PC指针设置成为下一条指令位置,开始执行。
3、IDA多线程调试方法
在IDA中如果已经启动了多个线程,并且设置在多个线程设置断点后,此时单步执行时,经常会线程乱跳,造成调试非常不方便。可以采用的方法是比如当前从主线程跳到某个其他线程,在主线程下一条指令设置断点,然后在线程窗口中将主线程supend,这时就不会再跳回到主线程了。如果想回到主线程,RUN后就会断点之前设置的断点。
4、IDA调试界面配置保存
配置好的调试界面,可以通过如下方法保存起来:点击windows—>save destop..,下次启动后直接点击windows—>load
destop..即可。
5、arm指令集分为arm指令和thumb指令等,在IDA中对于一个函数或地址判断是否是ARM还是thrumb看调用的地址是否为奇数,如果为奇数则为thrumb指令,如果是4字节对齐则为ARM指令。
将代码设置为thumb指令方法如下,按alt+G,然后让value=1 为thumb指令,= 0为arm指令。