当前位置:首页 » 安卓系统 » android单步

android单步

发布时间: 2023-01-16 21:17:03

① 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下

② 怎样通过Eclipse运行APK文件,以达到可以单步调试Android源码的目的

Eclipse开发的Android程序可以直接在手机上运行。
运行方式:
1. 手机打开 USB调式模式(不同的手机操作可能打开方式不一样)。
2. 将手机连接到电脑。
3. 电脑上安装手机USB驱动程序。
4. 运行android 应用。
5.点击工程 run as android application后,系统就会查找已经连接到电脑的设备,选择已经连接的设备即可运行在手机上了。

单步调试就是点击工程debug run as android application 注意是选择debug run as android application ,然后当程序运行到断点处就会停下来。

③ android开发debug调试怎么做

1.在程序中添加一个断点
如果所示:在Eclipse中添加了一个程序断点

在Eclipse中一共有三种添加断点的方法
第一种: 在红框区域右键出现菜单后点击第一项 Toggle Breakpoint 将会在你右键代码的哪一行添加一个程序断点 (同样的操作方可取消程序断点)
第二种: 在红框区域双击鼠标左键将会在你双击代码的哪一行添加一个程序断点 (同样的操作方可取消程序断点)

第三种 :在光标停留的地方使用快捷键 Ctrl + Shift + B 将会在光标停留的这一行添加一个程序断点 (同样的操作方可取消程序断点)

2.运行Debug 调试 让程序停留在添加的断点上

如下图所示,在红框内点击下拉菜单选中需要调试的项目 则开始运行Debug调试
如果不在下拉表中选直接点击表示Debug运行默认项目(默认项目为上一次运行的项目)
Debug调试 快捷键为单击F11

分析一下如何科学的添加程序断点, 上图中我为了加断点查看生成出来随机数的值我一共添加了6个程序断点,绿框表示最为科学的断点位置 ,红框表示不科学的位置。 我们分析一下为什么, 如果switch case 中的代码片段过长 或者 case 的数量过多 如果采用红框的方式来添加程序断点,程序员须要添加很多程序断点万一有疏漏 所以会很难快速定位代码执行到了那里 ,如果使用绿框的方式添加程序断点,程序员只须要在断点出按 F6 单步跳过这一行代码就会走进正确的case中方便继续调试。

Debug调试运行后,程序停在了红框处,按F6单步跳过 发现随机数为4 程序停留在了绿框中,程序员可以迅速定位random的值为4

3.程序停留后查看变量的数值

关闭

④ 按键精灵安卓版的,自己试了很多次,单步测试都能成功,合在一起总跳不出循环,请问这个脚本要怎么写

图3应该返回操作4,而不是1

⑤ Android程序如何(单步)调试

1、设置断点
在程序里面放置一个断点,也就是双击需要放置断点的程序左边的栏目上。

2、调试
(1)点击"打开透视图"按钮,选择调试透视图,则打开调试透视图界面,然后先设置断点,按调试按钮则可以调试程序。
(2)或者直接点击调试按钮,那个虫子样子的按钮,然后就会进入调试透视图的界面。前提你需要是要在程序中设置好断点。
(3)或者右键单击该程序,选择debug as(调试方式) -> java application(Java应用程序),则可以调试程序了。前提需要是要在程序中设置好断点。

3、调试快捷键
以debug方式运行java程序后
(F5)单步执行程序,遇到方法时进入;
(F6)单步执行程序,遇到方法时跳过;
(F7)单步执行程序,从当前方法跳出;
(F8)直接执行程序。遇到断点时暂停;
按F5就是一层层深入的debug相当于剥葱样,会进入每个方法内部;
按F6就是在当前函数一步步debug,不理会深层次运作;
按F7就是如果当前进入了某个方法内部,都跳转到该方法的结尾代码处;
按F8就是如果后面还有断点,则运行到下一断点处,否则运行完程序;
另,在debug时,会有很多有用信息显示在debug框里,如堆栈信息,需要自己实践;在程序界面里,鼠标移到变量上时会有当前变量的属性值。

4、改变变量的值
在变量窗口中右击变量,在弹出的菜单中选择[change value],弹出修改画面。
改变其值后,按下ok按钮;这时变量的值就改为修改后的值了。

5、检查代码段执行结果
在程序运行的时候,想看看某段程序运行的结果是否正确,或者查看某个变量的值时:
选择一句或一段代码,右键单击在弹出的菜单中选择Watch(创建查看表达式)项,此时,代码的执行结果将显示在Expressions(表达式)窗口中。
选择一句或一段代码,右键单击在弹出的菜单中选择Inspect(检查)项,可以直接显示表达式的值。

⑥ android studio怎么debug调试快捷键

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

⑦ android怎样单步调试

(1)加入相应的包:import android.util.Log;
(2)用相应的Log函数输出调试信息:
• Log.e( ): Errors
• Log.w( ): Warnings
• Log.i( ): Information
• Log.d( ): Debugging
• Log.v( ): Verbose
• Log.wtf( ): What a Terrible Failure5 (Since Android 2.2.)
(3)在eclipse中通过以下方法打开LogCat查看输入的调试信息:
Window >Show View > Other… > Android > LogCat
如果不使用eclipse,则用adb logcat命令打开logcat查看输入的调试信息
(4)如果需要断点单步调试,则在AndroidManifest.xml文件中加入 android:debuggable=”true”,如下:
<application android:icon=”@drawable/icon”
android:label=”@string/app_name”
android:debuggable=”true” >
(5)在Eclipse中的Run菜单下用Toggle Breakpoint等命令添加断点;
(6)在Eclipse中的Run菜单下用Debug As运行程序;在相应断点停止程序后,按F6(step over)运行到下一个断点;
详情请见:http://blog.micro-studios.com/?p=689

⑧ Android移动应用自动化测试都需要哪些环境

所需环境:Java(JDK)、Android-sdk、android模拟器(可用安卓真机)、Appium、python/Java
1. Java环境:移动应用程序是java程序开发,要运行java语言开发的程序就需要搭建java运行环境,直接安装JDK或JRE即可。
2. Android-sdk:Android程序开发、调试工具包,需要使用工具包内的ADB命令和Uiautomatorwebview查看元素属性工具
3. android模拟器:开发调试安卓应用,就需要一部安卓手机,使用模拟器代替安卓真机,也可以使用真机,需要开启root权限
4. Appium:移动应用自动化测试框架,提供了常用移动及应用的操作的API方法,支持Android、ios
5. python/java:需要一门语言来调用Appium框架提供的API方法来操作移动应用 传智播客有全套Android移动应用自动化测试的视频教程,你可以去官网找找看。

⑨ 如何使用android studio及夜神模拟器开发调试

方法/步骤
1、通过android studio新建自己的工程,
2、下载并安装夜神模拟器
先启动夜神模拟器
然后运行cmd命令,cd到夜神安装目录,执行命令
nox_adb.exe connect 127.0.0.1:62001
连接到模拟器

3、通过第一步新建的工程,按照下图,进行配置,并debug启动

4、弹出了模拟器选择框,OK后,我们就可以查看及单步调试了。

5、效果1

6、效果2

7、模拟器分别率如何设置,各种分配率,随便配置,平板及手机随便切换。

⑩ Android程序如何(单步)调试

.util.Log;(2)用相应的Log函数输出调试信息:

热点内容
重庆压缩机厂 发布:2025-07-05 00:14:53 浏览:756
php55兼容 发布:2025-07-05 00:14:52 浏览:543
公主出国访问 发布:2025-07-05 00:13:26 浏览:570
服务器IP作为登录IP 发布:2025-07-05 00:10:56 浏览:979
防雷支架应配置什么电缆 发布:2025-07-05 00:05:56 浏览:220
iosc语言函数 发布:2025-07-05 00:02:40 浏览:993
android打飞机 发布:2025-07-04 23:59:34 浏览:210
mr底层算法 发布:2025-07-04 23:14:59 浏览:781
怎么注册作业盒子密码 发布:2025-07-04 23:14:51 浏览:924
速达服务器ip 发布:2025-07-04 23:07:38 浏览:262