RT,

Android NDK中的C++调试,

GDB调试比较麻烦,在ADT Eclipse中:

1.配置好NDK给工程加上Native Support

2.编译中加上NDK_DEBUG=1

3.然后改造下mk文件:

#APP_DEBUG will be set by android-ndk if NDK_DEBUG=1 is set.ifdef APP_DEBUG   ifeq ($(APP_DEBUG),true)      CFLAGS+=-O0 -g  LOCAL_CFLAGS+=-D_DEBUG  APP_OPTIM := debug   else  CFLAGS+=-O2 -g   LOCAL_CFLAGS+=-DNDEBUG  APP_OPTIM := release  endifendif

即可任意断点调试,

这是理想情况,平时会有各种情况出现,之前经验是多下几个断点就好,

一直没太注意,

今日遇到了一坑,断点无论如何也挂不上,

仔细研究后发现:

1. 目录里千万不能含有空格,否则就是“No symbol table is loaded. Use the "file" command”,一头雾水,哪里出错都不知道;

2. 在Java代码里System.loadLibrary加上断点,可以很好地避免断点无法挂上的情况(按理论上这不会起作用的,Java/GDB 两个Debugger只能启其一);

3. 更好的解决方案就是用libandroid_native_app_glue,纯C/C++实现(NDK内有个例子可以参考);

时间消耗甚久,踩坑留标记,望以飨后人.

更多相关文章

  1. Android多文件断点续传(三)——实现文件断点续传
  2. 关于Android PopupWindow中实用Spinner控件点击APP Crash情况整
  3. Android 设备网络信息的获取(网络类型、网络强度、网络速度、代理
  4. 【Android】Android如何查看分区情况
  5. android 多线程断点下载,listview 模式 开始 暂停等功能
  6. android adb shell 不可用的情况
  7. Android MediaRecorder实现暂停断点录音功能
  8. java和Android文件下载断点续传和图片下载代码实现,可直接复制简
  9. Python获取android设备cpu和内存占用情况

随机推荐

  1. Android(安卓)Matrix处理ImageView中图片
  2. 关于同步加载和异步加载
  3. 玩懂Log,打开Android大门(sundy深入浅出)之
  4. Android实现dialog的3D翻转
  5. Lottie开源动画库使用教程
  6. Android(安卓)UI效果实现——滑动模糊渐
  7. Android中是否推荐使用枚举Enum
  8. ActivityThread的main方法究竟做了什么?
  9. Android属性动画之第一重修炼总结
  10. Android亮屏和熄屏控制