java与native联合调试。

1.so库用ndk-build NDK_DEBUG=1编译,
2.先在eclipse中调用jni处打一断点,开启java调试,运行到断点处。
3.在cygwin命令行中切换到工程目录下,开启ndk-gdb进行调试本地代码,list查看本地源码(用list时一定确保java已经导入了对应的so库,调试系统自动判断主文件,调用list自动打开源文件),在源码上打上断点,然后continue,
4.在eclipse中点击继续调试。
5.这时在cygwin中就停在了本地代码上了,然后可以用标准的gdb调试了。

单独的native调试。
1.eclipse
  debug as->Android Native Application用此项调试时一定要等native调试器启动后,再开始操作应用去执行本地代码。
2.ndk-gdb
  在设备上装dubug版的apk,然后运行ndk-gdb --start 开始调试。(一定要保证程序运    行时对应的so已经导入在java中成功导入了,不然list不能显示源码,也就是不能调试)


附gdb常用命令。

查看源代码list

断点break 行号; 查看断点 info breakpoints;

开始 start

运行到断点 continue
单步 next
进入函数 step
跳出函数finish

查看本地变量值 info locals; 打印变量 print; 变量修改变量值set;
跟踪变量 watch 变量; display 变量;

查看函数调用栈 backstrace; 


退出quit
从头开始连续执行程序 run

我的话费充值店-各种面额
电信100元仅售98.60 

联通100仅售99.00
移动100仅售99.30

猜你喜欢

转载自wenzongliang.iteye.com/blog/1966145