动态调试android, ddmsida
Android NDK R8提供四套運(yùn)行時(shí)環(huán)境來支持c++特性:
System, gabi++, stlport, gnustl
Gnustl支持 C++exceptions, C++ RTTI, Standard Library. 其他的不一定全支持。
動(dòng)態(tài)調(diào)試:
1.??????手動(dòng)添加log.v()
2.??????棧跟蹤 new Exception(“print trace”).printStackTrace();
3.??????DDMS中的Method Profiling?? Start/Stop Method Profiling
Android.os.Debug.startMethodTracing(“aa”);? func();Android.os.Debug.stopMethodTracing
aa.trace將生成在/mnt/sdcard/aa.trace.?? adb pull /mnt/sdcard/aa.trace.
4.??????使用IDA Pro調(diào)試android原生程序
Adb shell chmod 755 /data/local/tmp/debugnativeapp
Adb shell chmod 755 /data/local/tmp/android_server
Adb shell /data/local/tmp/android_server
Adb forward tcp:23946 tcp:23946
Menu->Debugger->run->remote ArmLinux/android dbbugger? application:/data/local/tmp/debugnativeapp
directory:/data/local/tmp
hostname:localhost? port:23946
點(diǎn)OK,ida會(huì)遠(yuǎn)程執(zhí)行debugnativeapp并中斷在main入口處。
5.??????使用IDA Pro調(diào)試android原生動(dòng)態(tài)庫
Adb shell chmod 755 /data/local/tmp/android_server
Adb shell /data/local/tmp/android_server
Adb forward tcp:23946 tcp:23946
Menu->Debugger->Attach->remoteArmLinux/android dbbugger?
hostname:localhost? port:23946
6.??????用gdb代替ida調(diào)試
總結(jié)
以上是生活随笔為你收集整理的动态调试android, ddmsida的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android arm
- 下一篇: 一点安全攻防