导航:首页 > 操作系统 > androidstudio单步调试

androidstudio单步调试

发布时间:2022-06-09 12:57:09

① mac 下 android studio 怎样使用 jni 单步调试

JNI对性能的提升没有我预想中的大,对于for循环的速度提升大概在1倍左右,所以如果数量级不大的话,性能提升不会很明显
JNI编完之后,不能调试,是不是很蛋疼,不像android Java可以看出错信息。JNI crash之后,界面上表示为没有任何反应,过段时间直接退出应用,没有提示、也没有XXX已停止运行。第一次遇到真是无从下手,有没有!!!,经过对Java层的log研究发现,原来JNI crash后,cpu就直接死在那里(相当于assert,程序停止运行)。果断时间后JAVA层发现程序已挂之后(进程僵死),就强制杀死该进程。于是程序直接退出而无提示。(以上分析纯属个人分析,如有不对,敬请指正)。这时发现如果能有单步调试功能那该多好!!
网络一下 ndk单步调式 一般能搜出如下结果:
1、安装CDT插件

2、安装Sequoyah插件

3、使用插件装入JNI文件、导入JNI头文件

4、配置eclipse JNI编译环境

5、修改ndk-gdb脚本

6、运行ndk-gdb脚本,并修改生成的文件(windows需安装cygwin)

7、配置eclipse native调试环境

吓尿了,有没有!!!单步调试这么麻烦!!!麻烦不说,windows下使用ndk-gdb效率还特别低

另外,对于修改google release的ndk脚本,我一直持保留态度,安说release的脚本应该直接能用的,为什么要做修改后才能用呢?
以上步骤,我花了2~3小时搞定,仅仅为了能打个断点~~~
在机缘巧合下,我看到一篇google官方的文章“Using NDK Plugins”

令人兴奋的是,ADTr20已经支持JNI单步调试,再也不需要如上这么麻烦的步骤了

你现在需要做的只需以下2步:

1、使用ndk-build编译时,加上如下参数NDK_DEBUG=1,之后生成so文件之外,还会生成gdbobserver,gdb.setup调式文件

2、在项目的Debug Configuration中选择Android Native Apllication,点击下方Debug

3、Enjoy your Debugging!
如何?是不是超简单,而且调试速度还相当快哦
ADTr20已经比较完美支持NDK开发了。可以集成ndk编译,只需在项目右键Add Native Support,就能自动生成jni文件,并部署编译环境(注意这个过程是不可逆的,手动删除jni文件后,会编译不过)。如果需要生成NDK调试文件,需要右键项目->properties->C/C++ build->Builder Setting 把默认的Build Command : ndk-build 修改成 ndk-build NDK_DEBUG=1
最后推荐一个很有用的android官方网站//tools。android。com/ 这个网站包含大多数ADT使用方法和新版ADT的介绍,获益匪浅

只可惜这种方法只能在ndk环境下使用,如果要对framework中的jni进行单步调试,应该就行不通了,推荐的一种方法是把它在NDK中编译调试完毕,然后将生成的so放在system/lib下

② android studio怎么调试

在开发程序的过程中,少不了对源程序进行调试。下面介绍下如何在android studio中进行调试。
工具/原料
android studio
nexus 7
方法/步骤
1、在android studio中新建默认的android应用app。
2、点击菜单栏的“Run”->“Attach debugger to Android process”。
3、然后会打开“Choose Process”窗口。选中要调试的进程,然后点击ok。
4、console中会输出:Connected to the target VM, address: 'localhost:8601', transport: 'socket'。说明已经可以进行调试。
5、在MainActivity的第14行打断点,然后运行程序,可以看到程序停在断点上。

③ android studio 怎么调试程序

工具/原料

android studio
nexus 7
方法/步骤

在android studio中新建默认的android应用app。

点击菜单栏的“Run”->“Attach debugger to Android process”。

然后会打开“Choose Process”窗口。选中要调试的进程,然后点击ok。

console中会输出:Connected to the target VM, address: 'localhost:8601', transport: 'socket'。说明已经可以进行调试。

在MainActivity的第14行打断点,然后运行程序,可以看到程序停在断点上。

④ android studio怎么debug调试快捷键

1.
【Ctrl+Shift+B】:在当前行设置断点或取消设置的断点。
2.
【F11】:调试最后一次执行的程序。
3.
【Ctrl+F11】:运行最后一次执行的程序。
4.
【F5】:跟踪到方法中,当程序执行到某方法时,可以按【F5】键跟踪到方法中。
5.
【F6】:单步执行程序。
6.
【F7】:执行完方法,返回到调用此方法的后一条语句。
7.
【F8】:继续执行,到下一个断点或程序结束。

⑤ 如何在android studio中调试源程序

android studio中调试源程序步骤如下:

1.设置断点,选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。

⑥ android studio怎么进行调试

1
在android studio中新建默认的android应用app。

2
点击菜单栏的“Run”->“Attach debugger to Android process”。

3
然后会打开“Choose Process”窗口。选中要调试的进程,然后点击ok。

4
console中会输出:Connected to the target VM, address: 'localhost:8601', transport: 'socket'。说明已经可以进行调试。

5
在MainActivity的某打断点,然后运行程序,可以看到程序停在断点上。

⑦ android studio怎么调试c++

本文主要介绍在android studio下实现jni单步调试时,所需要的配置及其步骤,这些也是本人经过几天折腾慢慢实现的,先提供给大家做参考:
http://blog.csdn.net/zhangbuzhangbu/article/details/50436512

⑧ android studio怎么调试apk

调试基础
一般来说我们有两种办法调试一个debuggable的apk;其一是下好断点,然后用debug模式编译安装这个app;其二是 attach process,在Android Studio里面就是这么一个对话框:

Attach Process
第二种方法比较常用,我们可以在启动apk之后,直接下断点,然后attach process到制定进程,条件触发之后就可以直接进入调试模式。
其他的一些单步执行,step into, step out, force step into 等就不提了;基本的跟踪手段。
还是提一下,下断点最简单的办法,是在代码编辑器的左侧,行号右边鼠标点击一下即可。
Evaluate Expression

⑨ 怎样在Android Studio中调试

1.在android studio中新建默认的android应用app。

⑩ android studio 怎么调试

1.设置断点

选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。

2.开启调试会话

点击红色箭头指向的小虫子,开始进入调试。

IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的代码行,方法f2()中,程序的第11行。红色箭头悬停的区域是程序的方法调用栈区。在这个区域中显示了程序执行到断点处所调用过的所用方法,越下面的方法被调用的越早。

3.单步调试

3.1 step over

点击红色箭头指向的按钮,程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)

3.2 step into

点击红色箭头指向的按钮,程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)。具体步骤如下:

在自定义方法发f1()处设置断点,执行调试

点击

3.3 Force step into

该按钮在调试的时候能进入任何方法。

3.4 step out

如果在调试的时候你进入了一个方法(如f2()),并觉得该方法没有问题,你就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。

阅读全文

与androidstudio单步调试相关的资料

热点内容
同花顺上传到服务器地址 浏览:927
电脑加密安卓版 浏览:824
手机程序加密有什么作用 浏览:178
求黑马程序员python教程 浏览:528
androidmvvm优缺点 浏览:894
unix下编译库文件 浏览:633
程序员的u盘 浏览:237
android根据经纬度获取城市 浏览:564
python使用解释器还是编译器 浏览:358
以下关于有加密算法及密钥描述 浏览:220
linuxgethostname 浏览:416
程序员多数有对象 浏览:131
单片机延时程序计算 浏览:444
编译原理语法翻译 浏览:504
pr编译出错渲染存在偏移 浏览:262
如何制作自家的app 浏览:199
推荐一个解压软件rar解压帮手 浏览:212
wd文档加密器 浏览:748
服务器上传压缩包一般是什么格式 浏览:333
发送加密文件密码几位数 浏览:160