Android 开发之使用Eclipse Debug调试详解
- 格式:doc
- 大小:497.50 KB
- 文档页数:22
在Eclipse上调试Android应用程序以前一直用VC开发,VC开发工具调试程序非常简单,按F7源码编译通过后,按F5就开始调试了。
为了开发Android程序,使用Eclipse开发环境,刚接触Eclipse不久,对Eclipse 环境不够熟悉,在这之前开发Android程序都是通过Trace定位问题的,后来得知Eclipse也可以进行单步调试,经过动手试验,发现调试过程类似VC开发环境,下面是调试步骤:1. 首先启动Eclipse,启动Android模拟器2. 打开DDMS界面,选择要调试的设备,并指定要调试的进程,例如:3.设置好断点,打开调试界面,按F11开始调试,可以F6进行单步调试。
********************************DDMS 的全称是Dalvik Debug Monitor Service,是Android 开发环境中的Dalvik虚拟机调试监控服务。
它为我们提供例如:为测试设备截屏,针对特定的进程查看正在运行的线程以及堆信息、Logcat、广播状态信息、模拟电话呼叫、接收SMS、虚拟地理坐标等等。
在集成开发环境中,有DDMS控制台窗口。
如,MyEclipse中,有个叫DDMS的Console。
1.如何启动DDMS这个工具存放在SDK-tools路径下,启动方法:1) 直接双击ddms.bat运行;2) 在Eclipse调试程序的过程中启动DDMS,在Eclipse如下:Window-Open Perspective-DDMS,点击启动就可以了DDMS对Emulator和外接测试机同等效用,如果系统检测到它们(VM)同时运行,那么DDMS 将会默认指向Emulator,以上两种启动后的操作有些不一样,建议分别尝试下;(WGY-Dalvik:虚拟机;Monitor:监听器)。
Eclipse编程中的Debug工具(即自动找错工具)的使用方法: 首先在Eclipse中编写一段代码以下边代码为例
看到代码左边的蓝条
找到int n=10,X=5,y=2;这行点击鼠标右键,
点击Toggle Breakpoint
点击后就会在int n=10,X=5,y=2;这行左侧位置出现一个小蓝点
然后在程序栏上点击小虫子图案(Debug)按钮
点击后会弹出以下对话框
问的是要不要更换画面点击“yes”
就到了下边的全新界面
其中区域A 是写代码区域;区域B 是显示变量值的区域;C 区域是程序输出的位置
小箭头指到哪行就是接下来要执行的代码。
点击图片中箭头位置名为(step over )程序就会向下继续读代码。
其中H 标黄色是表示H 值相对原来值有变化了。
程序完全执行完后点击step over 后会出现以下:
不用管。
点击Resume 表示Debug
完成。
A
B
C
点击Resume表示Debug完成出现下边对话框
那接下来怎么回到原来的位置,首先移动到程序最右边,在右上角显示目前在debug模式下,
点击它左边java按钮
就回到了Eclipse熟悉的编辑代码的页面。
可以通过右上角在两个界面来回切换。
如果又上角没有Debug按钮了,点击java左边加号按钮
出现下边对话框
点击debug就回到了debug界面。
本质上debug和自己读代码作用一样;如果程序写不出来的时候用下debug就能找出是哪里出了问题。
友情提示:范文可能无法思考和涵盖全面,供参考!最好找专业人士起草或审核后使用,感谢您的下载!。
Eclipse的Debug调试技巧作为开发⼈员,掌握开发环境下的调试技巧⼗分有必要。
我们在编写java程序的过程中,经常会遇到各种莫名其妙的问题,为了检测程序是哪⾥出现问题,经常需要增加⽇志,看变量的值,这样调试很⿇烦。
假设我每天花费1⼩时在调试我的应⽤程序上的话,那累积起来的话也是很⼤量的时间。
由于这个原因,⽤这些时间来重视并了解所有使我们调试更⽅便的功能。
那能为你省下⼀些时间,也将会使你的⽣活更安逸、轻松。
⾸先我们需要注意三个点:不要使⽤System.out.println作为调试⼯具\使⽤⼀个⽇志分析器来阅读⽇志\启⽤所有组件的详细的⽇志记录级别⼀个关于调试的疯狂声明作为开头。
但它必须是要说的!尝试切分⼀下你那复杂的逻辑成多个独⽴的单元,并编写单元测试来检测你代码的正确性。
我想像如下这样的流程应该是发⽣得⾮常频繁的—-⼀些Debug模式的界⾯,共分为5个区域(1)Debug(调试)区域,显⽰当前正在调试代码是什么,在第多少⾏(2)Variables(变量)区域,显⽰变量的值。
(3)代码编辑区(4)代码结构区,显⽰代码中的各个⽅法。
(5)Console(控制台)区域。
⼀、条件断点我们通常调试断点的时候⼀般就是点击⾏号的左边,这个时候就会有断点被打起来。
在debug视图中,BreakPoint View将所有断点都列出来,但是我们可以添加⼀个boolean类型的条件来决定断点是否被跳过。
如果条件为真,在断点处程序将停⽌,否则断点被跳过,程序继续执⾏。
如果你只对应⽤中的某部分感兴趣的话,这个功能⾮常有⽤。
例如,如果你要在第13次循环的时候检查程序,或者在⼀个抽象⽗类中调试某些功能,⽽你只关注其中⼀个具体的实现。
你可以在断点视图中设置条件,或者通过代码旁边的蓝⾊断点标记的右键菜单(”Breakpoint Properties”)设置。
你可以在条件代码⽚段为true的时候暂停程序,或者当代码⽚段的值改变的时候挂起程序。
用Eclipse开发和调试Android应用程序一前面介绍了Windows环境下,基于Android SDK(2.3)和Eclipse(helios)的Android开发环境的搭建,并创建了第一个应用程序Hello Android World。
具体挺参考小生的blog:或者。
现在,我们已经可以使用Eclipse来创建和开发Android应用程序,本文将仍以Hello Android World工程来深入解析Eclipse中Android工程的结构以及调试。
写上篇的时候,刚好Android SDK Platform HoneycombPreview,revision 1(android-3.0_pre_r01-linux.zip)已经加入,却无法下载,因此我们的第一个Android应用程序是用的Android SDK Platform2.3.1,即Android 9AVD进行演示。
现在Android SDK Platform Honeycomb Preview已经放到,敢为天下先是我等求知若渴的程序员的优秀品质,因此,本次我们使用最新版本的Android SDK Platform Honeycomb Preview来进行我们本次教程。
先看看最新的Honeycomb Preview的样子吧(由于是Preview版本,启动确实不敢恭维,根据传闻,前几天之所以该版本一度无法下载安装是因为google发现这个Preview版本太烂,面子上挂不住,所以又撤掉了,呵呵):相比手机上目前使用的最高Android 2.3版本而言,Android 3.0 Honeycomb更适合平板电脑使用,是专门为Android平板电脑进行优化的系统版本。
随着SDK的发布,更加有利于开发者和厂商针对Android 3.0 Honeycomb平板电脑进行开发,包括Android平板电脑应用和匹配。
一、Android应用程序概述1.Android的嫡系组件Android有四项一等公民(或称为嫡系组件),包括:Activity(活动)、ContentProvider(内容提供程序)、BroadcastReceiver(广播接收器)与Service(服务)。
elipse的debug使用Elipse是一款功能强大的IDE,可以用于开发多种类型的应用程序。
在使用Elipse进行开发时,debug是一个非常重要的环节。
下面将介绍Elipse的debug使用方法。
1. 配置debug环境在Elipse中进行debug,首先需要配置debug环境。
在菜单栏中选择“Run” -> “Debug Configurations”,在弹出的窗口中选择适合自己项目的debug环境。
例如,对于Java项目,可以选择Java Application。
2. 启动debug在配置好debug环境后,我们就可以启动debug了。
在菜单栏中选择“Run” -> “Debug”或者点击工具栏中的debug按钮,Elipse 将会启动debug,并在控制台输出debug信息。
3. 设置断点断点是debug过程中非常重要的一个功能,我们可以通过设置断点来暂停程序的执行,观察当前程序的状态。
在代码行号的左侧单击鼠标左键,就可以设置断点。
在debug过程中,当程序执行到断点处时,程序将会暂停,我们就可以在debug窗口查看程序的状态了。
4. 查看变量值在debug过程中,我们可以查看各个变量的值,以便更好地了解程序的状态。
在debug窗口中,选择“Variables”选项卡,就可以查看当前所有变量的值。
5. 单步执行在debug过程中,我们可以逐行执行程序,以便更好地了解程序的执行过程。
在debug窗口中,选择“Step Into”或者“Step Over”按钮,就可以单步执行程序了。
6. 继续执行在debug过程中,当程序暂停在某个断点处时,我们可以继续执行程序。
在debug窗口中,选择“Resume”按钮,程序将会继续执行。
总之,Elipse的debug功能非常强大,能够帮助我们更好地了解程序的执行过程,及时发现问题并解决。
掌握Elipse的debug使用方法,对于程序开发和调试都非常有帮助。
Eclipse调试常用技巧1、条件断点断点大家都比较熟悉,在Eclipse Java编辑区的行头双击就会得到一个断点,代码会运行到此处时停止。
条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才会在运行到断点处时停止。
在断点处点击鼠标右键,选择最后一个"Breakpoint Properties"断点的属性界面及各个选项的意思如下图,2、变量断点断点不仅能打在语句上,变量也可以接受断点,上图就是一个变量的打的断点,在变量的值初始化,或是变量值改变时可以停止,当然变量断点上也是可以加条件的,和上面的介绍的条件断点的设置是一样的。
3、方法断点方法断点就是将断点打在方法的入口处,方法断点的特别之处在于它可以打在JDK的源码里,由于JDK在编译时去掉了调试信息,所以普通断点是不能打到里面的,但是方法断点却可以,可以通过这种方法查看方法的调用栈。
4、改变变量值代码停在了断点处,但是传过来的值不正确,如何修改一下变量值保证代码继续走正确的流程,或是说有一个异常分支老是进不去,能不能调试时改一下条件,看一下异常分支代码是否正确?在Debug视图的Variables小窗口中,我们可以看到mDestJarName变量的值为"F:\Study\eclipsepro\JarDir\jarHelp.jar"我们可以在变量上右键,选择"Change Value..."在弹出的对话框中修改变量的值,或是在下面的值查看窗口中修改,保用Ctr+S保存后,变量值就会变成修改后的新值了。
5、重新调试这种调试的回退不是万能的,只能在当前线程的栈帧中回退,也就说最多只能退回到当前线程的调用的开始处。
回退时,请在需要回退的线程方法上点右键,选择"Drop to Frame"6、远程调试用于调试不在本机上的程序,有两种方式,1、本机作为客户端2、本机作为服务端使用远程调试的前提是服务器端和客户端的代码是一致的。
Android 开发之Eclipse 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的值为43.程序停留后查看变量的数值蓝框中的内容表示为断点的入口方法,就好比你的断点是从那个方法进来的,学会看这个真的非常重要,好比我现在明确知道我的一个方法在被调用的时候方法中会出现错误,但是这个方法在程序中100个地方都在调用,我可能断定实在那里调用的时候出的错误,我不可能在100个调用它的地方都加一个断点,我可以在方法中添加程序断点然后在篮框中查看程序是从那个地方走进这个方法的,便可以快速定位问题所在。
Android移动开发
(慕课版)
60
等级从低到高的顺序输出5条不同等级的日志信息,并以不同颜色进行显示,如图4-11所示。
图4-11 输出各种日志信息
4.4.2 Eclipse调试器调试
本节将介绍使用Eclipse内置的Java调试器调试Android程序的方法,使用该调试器可以设置程序的断点、实现程序单步执行、在调试过程中查看变量和表达式的值等调试操作,这样可以避免在程序中调用大量的Log类输出日志信息的方法输出调试信息。
使用Eclipse的Java调试器需要设置程序断点,然后使用单步调试分别执行程序代码的每一行。
1.断点
设置断点是程序调试中必不可少的有效手段,Java调试器每次遇到程序断点时都会将当前线程挂起,即暂停当前程序的运行。
在Java编辑器中,提供了以下3种方法用于添加或删除当前行的断点。
在显示代码行号的位置双击添加或删除当前行的断点。
在当前行号的位置单击鼠标右键,在弹出的快捷菜单中选择“切换断点”命
令实现断点的添加与删除,如图4-12所示。
单击该项添加或删除断点
图4-12 选择“切换断点”命令
将光标定位在要设置断点的行,按下键盘上的〈Ctrl+Shift+B〉也可以添加
或删除断点。
2.调试
为程序设置断点后,在“包资源管理器”中,选中要调试的项目,然后单击工具栏上的,如果是第一次运行,将弹出选择调试方式的对话框,在该对话框中选
择Android Application这一项即可,但是如果不是第一次运行,将弹出调试运行默
断点
调试。
1、在Linux系统下编译eng真机版本的软件,命令如下:$ ./makeMtk -o=TARGET_BUILD_VARIANT=eng lightning73_gb new2、Download软件到手机,并且将USB调试项打开(一般eng版本默认是打开的)3、从Linux下拷贝需要调试的App模块(本文以Contacts为例)到Windows下Eclipse工作目录(本文选在Z:\AndroidWorkspace\)4、打开Eclipse,新建Android工程。
选择Create project form existing source,路径选取刚才放在工作目录下的App根目录,点Finish。
工程可能存在很多错误,一般都是import的包找不到引起的,不必理会,不影响Debug。
5、连接手机到电脑,第一次连接需要安装驱动。
6、打开并选中该工程,在菜单中选择Run->Debug Configuration,然后在弹出的对话框左侧右击Remote Java Application,选择New,在右侧给该配置取一个名字,选择工程(如果该项目是打开并选中的,这里自动就是该项目),修改Port为8700,点Apply,再点Debug。
如果有警告,直接点Proceed。
7、在Eclipse中打开DDMS模式。
(打开方式为点击Toolbar右侧的DDMS按钮或者在Window->Open Perspective->DDMS打开)这时应该能看到左侧Devices 下有该手机的设备号和进程信息。
点击要调试的进程(Contacts是android.pr ocess.acore),此时该模块前面多了个绿色甲虫图标,后方端口多了“/8700”。
此时就可以进行调试了。
8、在需要的地方设置断点,在手机上启动要调试的软件,软件会在断点处暂停,后面的部分和在模拟器上调试完全一样。
Troubleshooting:1、在连接手机到电脑,打开DDMS可能会报如下错误:Adb connection Error:远程主机强迫关闭了一个现有的连接。
DEBUG的使用及调试方法在软件开发过程中,调试是非常重要的一环。
调试是指通过排除软件中的错误或故障,确定程序的正确性和可靠性的过程。
在调试过程中,开发者需要使用各种工具和技术来定位和解决问题,其中DEBUG是一种常用的调试工具。
1.打印调试信息:在代码中添加打印语句,将关键信息输出到控制台或日志文件中。
这个方法简单直接,可以帮助开发者快速定位问题。
然而,过多的打印语句会对程序的性能造成影响,并且需要手动添加和移除。
2.使用断点:断点是调试器提供的一种功能,可以在代码中设置一个断点,当程序执行到断点时,会暂停执行。
开发者可以在断点处检查变量的值,观察程序的执行流程。
调试器还提供了单步执行、继续执行等功能,可以逐行调试程序。
使用断点可以直观地观察程序的执行过程,快速找到错误。
3.日志记录:使用日志记录可以在代码中记录程序的执行过程和状态,以便后续分析。
使用日志记录可以避免过多的打印语句,同时日志记录可以输出到文件中,便于离线分析。
常见的日志记录框架有log4j、logback等,它们提供了丰富的配置选项,可以方便地控制日志的输出级别和格式。
4.调试工具:调试工具是一种集成了多种调试功能的软件,可以帮助开发者更方便地进行调试。
常见的调试工具有Eclipse、Visual Studio等。
调试工具提供了丰富的调试功能,包括断点设置、变量查看、堆栈跟踪等,可以大大提高调试的效率。
5.远程调试:在分布式系统中,可能需要在远程机器上调试程序。
远程调试是一种通过网络连接到目标机器,对程序进行调试的方法。
远程调试需要在目标机器上开启调试端口,并在调试工具中配置远程调试参数。
远程调试可以在开发者的本地环境中进行调试,避免了在目标机器上进行调试的麻烦。
6.单元测试:单元测试是一种通过编写测试代码来验证程序的正确性的方法。
单元测试可以模拟程序的输入和输出,隔离程序中的错误。
在测试过程中,可以使用断言语句来判断程序的输出是否符合预期。
Android eclipse 程序调试一:断点调试用eclipse开发android程序的时,跟VS一样是可以断点单步调试的.步骤如下.1 设置断点:在编码窗体的左边框上用鼠标双击,或者右键点击菜单,选择Toggle Breakpoint菜单项即可.2 在debug模式下运行程序进入调试状态:通过点击工具栏上的小虫按钮或者是在项目右键点击然后选择DebugAs,Android Application菜单,启动程序的调试模式.第一次运行调试模式eclipse会弹出如下确认窗口当程序运行到你的断点地方时就会停下,这时可以按照下面的功能键按需求进行调试: [1]快捷键(F8)直接执行程序,直到下一个断点处停止。
[2]快捷键(F5)单步执行程序,遇到方法时进入。
[3]快捷键(F6)单步执行程序,遇到方法时跳过。
[4]快捷键(F7)单步执行程序,从当前方法跳出。
查看断点时变量当前的值:右键点击对应的变量,在菜单上选择watch 菜单项,变量的值就会出现在expressions窗口中.二、Android应用调试之工具Eclipse Java编辑器这个编辑器不但能够为开发者提供代码编写、语法纠错和实时编译等常用功能,而且还能够对Java源代码进行快速修改、重构等高级操作。
详讲:错误提示符(一个小电灯泡图标和一个红色的X)指出了错误所在的位置,在屏幕的右上角有一个红色的标记,它的作用是提示开发者该文档的某个位置存在错误。
在文档的右边空白处还能看到一个红色的矩形框,它指明了错误所在的大致位置,如果代码量非常大,可以将竖直滚动条拖到这个红色矩形块的位置,快速定位错误。
Java和Dalvik编译、构建系统Android应用程序最终是运行在手机(或者模拟器)的Dalvik虚拟机上的。
因此对Android 应用程序的编译和构建需要用到Java编译器和Dalvik字节码转换器。
Eclipse调试器Android SDK提供了从Dalvik字节码到Java源代码的映射,这样开发者就可以直接使用Eclipse功能强大的调试器进行Android应用程序的调试。
主要通过以下几个步骤:1、手机通过数据线连接在电脑上2、设置Android手机为USB调试模式。
步骤:设置—> 应用程序—> 开发, 选择【USB调试】3、如果是window系统,系统会提示安装驱动:选择正确的android sdk安装目录,然后点击下一步,系统就开始安装驱动了4、驱动安装完成之后,重启电脑(通常系统会有“安装新驱动,重启才能生效”的提示),这但应该明白吧5、重复第1步和第2步,打开命令窗口,检测手机设备是否已经被识别,如下所示:“HT99YLG11834 device”就是检测到得手机设备6、接下来就开始在eclipse上调试android程序了,右击android工程->Run as->Android Application,弹出如下窗口:(重新启动系统之后才有这样的效果)7、选中手机设备,点击OK之后,程序就开始在真机上安装了,控制台输出如下信息:[2011-04-07 22:24:49 - HelloWorld] Uploading HelloWorld.apk onto device‘HT99YLG11834′[2011-04-07 22:24:49 - HelloWorld] Installing HelloWorld.apk…[2011-04-07 22:24:53 - HelloWorld] Success![2011-04-07 22:24:53 - HelloWorld] Starting activitycom.eightqiu.activity.StatsResultActivity on device[2011-04-07 22:24:57 - HelloWorld] ActivityManager: Starting: Intent{ act=android.intent.action.MAIN cat=[UNCHER] cmp=com.eightqiu.activity/.StatsResultActivity }注意事项关于安卓手机无法正常连接电脑的解决方法和注意事项:将手机中“设置”---“应用程序”------“开发”中的“USB调试”选中。
1、把eclipse工程配置文件复制到android源码根目录下android源码文件夹里提供有一些eclipse配置文件,.claapath:eclipse工程的配置文件,方便我们直接把android源码相应的文件和JA VA包导入工程。
配置内容如下:。
2、修改eclipse程序的配置1)、增大eclipse内存设置把eclipse.ini(在eclipse软件的安装目录下)的3个值改为下面的值:-Xms128m-Xmx512m-XX:MaxPermSize=256m2)、把android-formatting.xml和android.importorder导入eclipse(可选)android-formatting.xml、.classpath和android.importorder都放在development/ide/eclipse/下android-formatting.xml用来配置eclipse编辑器的代码风格;android.importorder用来配置eclipse的import的顺序和结构。
在window->preferences->java->Code style->Formatter中导入android-formatting.xml在window->preferences->java->Code style->Organize Imports中导入android.importorder3、eclipse上调试android里的程序把android源码作为一个工程导入eclipse1)、导入前先检查.classpath里的文件在android源码中是否有相应的文件(文件夹),否则也会破坏android源码(一般是多添加文件/文件夹),.classpath里多余的路径可删除2)、新建Java Project(不是android project,否则会破坏android源码),选择从已存在的工程导入,工程名任意,完成。
EclipseDebug调试步骤及注意事项
debug⽅法
第⼀步:打开java代码⽂件,在左侧双击⿏标设置断点,或者在左侧右键点击Toggle Breakpoint
第⼆步:点击eclipse上⽅的“蜘蛛”按钮,点击debug as,debug调试开始。
第三步:显⽰debug图框。
debug模式的界⾯,分为5个区域。
(1)Debug(调试)区域,显⽰当前正在调试代码是什么,在第多少⾏
(2)Variables(变量)区域,显⽰变量的值。
(3)Console(控制台)区域。
第四步:点击黄⾊按钮,或者按F5后退⼀步,F6前进⼀步,可以在变量区实时查看值的变化。
第五步:点击调试区的绿⾊按钮,可以将程序直接执⾏完毕,跳过所有断点调试。
注意事项:F5和F6都是单步调试,F5是step into,也就是进⼊本⾏代码中执⾏,F6是step over,也就是执⾏本⾏代码,跳到下⼀⾏。
F7是跳出函数,F8是执⾏到最后。
按钮介绍
1.表⽰当前实现继续运⾏直到下⼀个断点,快捷键为F8。
2.表⽰打断整个进程
3.表⽰进⼊当前⽅法,快捷键为F5。
4.表⽰运⾏下⼀⾏代码,快捷键为F6。
5.表⽰退出当前⽅法,返回到调⽤层,快捷键为F7。
6.表⽰当前线程的堆栈,从中可以看出在运⾏哪些代码,并且整个调⽤过程,以及代码⾏号。
EclipseDebug模式的开启与关闭问题简析默认情况下,eclipse中右键debug,当运⾏到设置的断点时会⾃动跳到debug模式下。
但由于我的eclipse环境,从开始⼀直⽤到现在,中间包括装、卸各种插件,更换版本,从英⽂界⾯导到中⽂界⾯⼜换回来,可以说现在的环境已经臃肿混乱到⾃⼰都搞不清楚的地步了。
不知哪⼀天设置了,把debug模式关掉了,之后⼀直到现在,运⾏debug时,还是在Java视图(perspective)下,⽆法⾃动跳转到debug perspective。
知道是在preferences⾥⾯设置,却不知是哪⼀个选项,也就⼀直忍耐着,每次debug都⼿动切换到debug视图。
今⽇再次想切换过来,在preferences⾯板利⽤搜索功能,搜perspective,哈,就在Run/debug下有这么⼀个选项,把Open the associated perspective when launching选择为"Always"即可。
(原来选的Never)。
其他设置:可以通过选中Run/Debug⾯板的"Skip breakpoints during a 'Run to Line' operation",从⽽在debug时跳过设置的断点,直接运⾏到指定的⾏。
下⾯再给⼤家分享⼀个debug模式启动不起来的简单解决⽅法。
在eclipse先进⼊debug调试模式,然后把所有的断点清除再重新启动就完美解决。
在每次打断点的时候,有时候在⾃⼰没有注意的情况下,eclipse会添加⼀些断点进去,从⽽导致需要加载某个服务时⽆法通过,从⽽导致JBoss⽆法启动,将所有断点移除了即可。
ps:如果有时候⽆法启动,⽽且控制台也没有报错的时候,同样的可以先看看断点模式下⾯是否存在断点,全部移除后再重新启动总结以上就是本⽂关于Eclipse Debug模式的开启与关闭问题简析的全部内容,希望对⼤家有所帮助。
Eclipse调试技巧与实用插件推荐第一章:Eclipse调试功能概述Eclipse是一款常用的集成开发环境(IDE),具备强大的调试功能。
通过调试,开发人员可以逐步执行代码,查看变量的值,以及定位和修复错误。
本章将介绍Eclipse调试功能的基本使用方法和常见技巧。
1.1 启动和配置调试器Eclipse提供了多个调试器,包括Java调试器、C/C++调试器等。
在进行调试前,需要配置合适的调试器。
通过“Run Configurations”菜单可以选择调试器类型,并设置调试的目标程序以及启动参数。
1.2 设置断点断点是调试过程中的关键工具。
在Eclipse中,可以通过在代码行上右键单击并选择“Toggle Breakpoint”来设置断点。
也可以通过单击编辑器左侧的行号进行设置。
设置断点后,程序执行到断点处会自动暂停。
1.3 运行调试通过单击“Debug”按钮或使用快捷键(如F11)可以启动调试。
程序执行到断点处后,会自动暂停。
在程序暂停时,可以查看变量的值、执行单步调试和观察程序运行状态。
第二章:Eclipse调试基本技巧2.1 断点调试在程序暂停时,可以逐行执行代码。
通过点击“Step Over”按钮或使用快捷键(如F6),可以执行当前行,并移到下一行。
通过点击“Step Into”按钮或使用快捷键(如F5),可以进入方法内部执行。
2.2 条件断点除了在特定行上设置断点外,还可以设置条件断点。
条件断点在满足特定条件时才会触发暂停,可以通过右击断点并选择“Breakpoint Properties”来设置断点的条件。
2.3 监视变量通过在“Expressions”窗口中添加相关变量,可以实时监视变量的值。
在程序暂停时,Expressions窗口会显示变量的值,并随着程序的执行更新。
2.4 修改变量在调试过程中,有时候需要修改某个变量的值以验证不同的逻辑分支。
通过鼠标右键单击变量并选择“Change Value”,可以在调试过程中修改变量的值。
作者:张伟为了提高Android程序的开发效率,找错误和调试是很重要的。
一般来说,首先使用Android的Logcat输出Log信息来查找或定位程序的错误,还可以使用Eclipse的Debug调试工具来协助调试。
本文先介绍如何使用Android的Logcat在开发环境中打印Log信息,然后介绍如何使用Elipse设置断点来调试Android程序。
一、Android开发中Log信息的打印在Android平台上,我们可以使用“Log”函数,来达到自己在程序码中加入一个个“记录点”或“检查点”,并可以通过开发环境中的“LogCat”工具来查看记录。
当程序流程每次运行到“记录点”时,相应的“记录点”就会在开发工具记录中输出一条查错用的信息。
开发者通过分析这些记录,来检查程序执行的过程、使用到的参数,是否与我们期望的结果符合。
依此来判断程序码中可能出错的区域,以便对症根治造成问题的程序段。
android.util.Log常用的方法有以下5个:Log.v(),Log.d(),Log.i(),Log.w()以及Log.e()。
根据首字母对应VERBOSE,DEBUG,INFO,WARN,ERROR。
颜色消息说明Log.v黑色任何消息verbose包括以下所有消息Log.d蓝色调试信息debugLog.i绿色提示信息information不会输出Log.v和Log.d的信息,但会显示i、w和e的信息Log.w橙色警告warning注意优化代码,还会输出Log.e的消息Log.e红色错误error需要根据它查看栈的信息,并认真的分析错误以上log按优先级从低到高的顺序至上而下排列的,换句话说,选择某一种输出类型后,表格中在它下面的类型也会输出。
下面是我做的一个简单的LogDemo。
1.打开LogCat视窗Eclipse菜单-> Windows -> Show View ->Other -> Android -> LogCat,在控制台窗口出现LogCat视窗。
Android 开发之使用Eclipse 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的值为43.程序停留后查看变量的数值蓝框中的内容表示为断点的入口方法,就好比你的断点是从那个方法进来的,学会看这个真的非常重要,好比我现在明确知道我的一个方法在被调用的时候方法中会出现错误,但是这个方法在程序中100个地方都在调用,我可能断定实在那里调用的时候出的错误,我不可能在100个调用它的地方都加一个断点,我可以在方法中添加程序断点然后在篮框中查看程序是从那个地方走进这个方法的,便可以快速定位问题所在。
绿框中可以查看当前方法中所有变量的值,但是如果变量非常多在这里看就比较麻烦,可以使用红框的方法查看。
红框中可以右键变量名点击咖啡框中的watch 后在紫框中Expressions 就可以看到变量的数值了。
BreakPoints 中会记录程序中添加过多少程序断点。
4分享一些Eclipse中Debug的一些小技巧watch 过的变量和我们自己加的程序断点不会被Eclipse 自动删除除非我们手动删除否则会一直留在紫框中,这些数值会拖慢Eclipse 开发工具,如果过多的话很可能会造成Eclipse 崩溃(有可能是Eclipse的BUG),让开发变得非常痛苦,所以雨松MOMO在这里建议大家在每次Debug调试的时候将紫框中之前加的程序断点和watch过的变量全不手动清空,只添加这一次调试须要的断点就可以了,这样的话Eclipse 就不会被这些拖慢进程的东西所导致崩溃。
5.连接真机调试第一步打开自己的手机在设置中选择应用程序然后选择开发然后选中USB调试。
第二步用USB线连接手机到电脑,一般情况会自动安装驱动,如果无法安装驱动的话就去下载一个豌豆荚或者91助手,让它帮我们手机自动安装驱动很方便的。
第三步驱动安装成功后会在Device中看到真机(红框中) 绿框中为android 电脑模拟器.运行项目后弹出设备选择窗口第一个为模拟器第二个红框内的为我连接电脑的真机MOTO的里程碑,选择完后点击OK 就可以通过真机来调试程序了,简单吧?是不是很给力呢呵呵。
6.Android 开发中Log信息的打印本人做过J2ME 开发Android开发iPhone开发发现J2ME 的模拟器还有Iphone的模拟器都非常给力速度很很快(模拟器比真机快) 唯独android 的模拟器是最不给力的(真机比模拟器快) 实在是慢的不行连接上真机可以快一点但是一样还是慢尤其是Debug的时候简直是太不给力了(发点牢骚大家别介意哦> - <)所以有时候我在开发Android的时候不到万不得已我不去Debug 我会使用Log去打印我须要的数据下面我教大家如何在Andoid下打印Log信息。
希望大家都学会使用log.view plaincopy to clipboardprint?1. public class testActivity extends Activity {2.3. /**4. * 返回一个随机数5. * @param botton6. * @param top7. * @return8. */9. private int UtilRandom(int botton, int top) {10. return ((Math.abs(new Random().nextInt()) % (top - botton)) + botton);11. }12. @Override13. public void onCreate(Bundle savedInstanceState) {14. super.onCreate(savedInstanceState);15.16.17. int a = UtilRandom(0,5);18. int b = UtilRandom(0,5);19. int c = UtilRandom(0,5);20. int d = UtilRandom(0,5);21. int e = UtilRandom(0,5);22.23.24.25.26. Log.v("random", a +"");27. Log.v("random", b +"");28. Log.v("random", c +"");29. Log.v("random", d +"");30. Log.v("random", e +"");31.32. setContentView(yout.main);33. }34. }最后附上Eclipse 在开发中使用到的快捷键很实用噢(转载)Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行Ctrl+Alt+↓复制当前行到下一行(复制增加)Ctrl+Alt+↑复制当前行到上一行(复制增加)Alt+↓当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑当前行和上面一行交互位置(同上)Alt+←前一个编辑的页面Alt+→下一个编辑的页面(当然是针对上面那条来说了)Alt+Enter 显示当前选择资源(工程,or 文件 or文件)的属性Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)Shift+Ctrl+Enter 在当前行插入空行(原理同上条)Ctrl+Q 定位到最后编辑的地方Ctrl+L 定位在某行 (对于程序超过100的人就有福音了)Ctrl+M 最大化当前的Edit或View (再按则反之)Ctrl+/ 注释当前行,再按则取消注释Ctrl+O 快速显示 OutLineCtrl+T 快速显示当前类的继承结构Ctrl+W 关闭当前EditerCtrl+K 参照选中的Word快速定位到下一个Ctrl+E 快速显示当前Editer的下拉列表(如果当前页面没有显示的用黑体表示)Ctrl+/(小键盘) 折叠当前类中的所有代码Ctrl+×(小键盘) 展开当前类中的所有代码Ctrl+Space 代码助手完成一些代码的插入(但一般和输入法有冲突,可以修改输入法的热键,也可以暂用Alt+/来代替)Ctrl+Shift+E 显示管理当前打开的所有的View的管理器(可以选择关闭,激活等操作)Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在stutes line中显示没有找到了,查一个单词时,特别实用,这个功能Idea两年前就有了)Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)Ctrl+Shift+F4 关闭所有打开的EditerCtrl+Shift+X 把当前选中的文本全部变味小写Ctrl+Shift+Y 把当前选中的文本全部变为小写Ctrl+Shift+F 格式化当前代码Ctrl+Shift+P 定位到对于的匹配符(譬如{}) (从前面定位后面时,光标要在匹配符里面,后面到前面,则反之)下面的快捷键是重构里面常用的,本人就自己喜欢且常用的整理一下(注:一般重构的快捷键都是Alt+Shift开头的了)Alt+Shift+R 重命名 (是我自己最爱用的一个了,尤其是变量和类的Rename,比手工方法能节省很多劳动力)Alt+Shift+M 抽取方法 (这是重构里面最常用的方法之一了,尤其是对一大堆泥团代码有用)Alt+Shift+C 修改函数结构(比较实用,有N个函数调用了这个方法,修改一次搞定)Alt+Shift+L 抽取本地变量( 可以直接把一些魔法数字和字符串抽取成一个变量,尤其是多处调用的时候)Alt+Shift+F 把Class中的local变量变为field变量 (比较实用的功能) Alt+Shift+I 合并变量(可能这样说有点不妥Inline)Alt+Shift+V 移动函数和变量(不怎么常用)Alt+Shift+Z 重构的后悔药(Undo)编辑作用域功能快捷键全局查找并替换 Ctrl+F文本编辑器查找上一个 Ctrl+Shift+K文本编辑器查找下一个 Ctrl+K全局撤销 Ctrl+Z全局复制 Ctrl+C全局恢复上一个选择Alt+Shift+↓全局剪切 Ctrl+X全局快速修正 Ctrl1+1全局内容辅助 Alt+/全局全部选中 Ctrl+A全局删除 Delete全局上下文信息 Alt+?Alt+Shift+?Ctrl+Shift+SpaceJava编辑器显示工具提示描述 F2Java编辑器选择封装元素Alt+Shift+↑Java编辑器选择上一个元素Alt+Shift+←Java编辑器选择下一个元素Alt+Shift+→文本编辑器增量查找 Ctrl+J文本编辑器增量逆向查找 Ctrl+Shift+J 全局粘贴 Ctrl+V全局重做 Ctrl+Y查看作用域功能快捷键全局放大 Ctrl+=全局缩小 Ctrl+-窗口作用域功能快捷键全局激活编辑器 F12全局切换编辑器 Ctrl+Shift+W全局上一个编辑器 Ctrl+Shift+F6全局上一个视图 Ctrl+Shift+F7全局上一个透视图 Ctrl+Shift+F8全局下一个编辑器 Ctrl+F6全局下一个视图 Ctrl+F7全局下一个透视图 Ctrl+F8文本编辑器显示标尺上下文菜单 Ctrl+W 全局显示视图菜单 Ctrl+F10全局显示系统菜单 Alt+-导航作用域功能快捷键Java编辑器打开结构 Ctrl+F3全局打开类型 Ctrl+Shift+T全局打开类型层次结构 F4全局打开声明 F3全局打开外部javadoc Shift+F2全局打开资源 Ctrl+Shift+R全局后退历史记录Alt+←全局前进历史记录Alt+→全局上一个 Ctrl+,全局下一个 Ctrl+.Java编辑器显示大纲 Ctrl+O全局在层次结构中打开类型 Ctrl+Shift+H 全局转至匹配的括号 Ctrl+Shift+P全局转至上一个编辑位置 Ctrl+QJava编辑器转至上一个成员Ctrl+Shift+↑Java编辑器转至下一个成员Ctrl+Shift+↓文本编辑器转至行 Ctrl+L搜索作用域功能快捷键全局出现在文件中 Ctrl+Shift+U全局打开搜索对话框 Ctrl+H全局工作区中的声明 Ctrl+G全局工作区中的引用 Ctrl+Shift+G文本编辑作用域功能快捷键文本编辑器改写切换 Insert文本编辑器上滚行Ctrl+↑文本编辑器下滚行Ctrl+↓文件作用域功能快捷键全局保存 Ctrl+XCtrl+S全局打印 Ctrl+P全局关闭 Ctrl+F4全局全部保存 Ctrl+Shift+S全局全部关闭 Ctrl+Shift+F4全局属性 Alt+Enter全局新建 Ctrl+N项目作用域功能快捷键全局全部构建 Ctrl+B源代码作用域功能快捷键Java编辑器格式化 Ctrl+Shift+FJava编辑器取消注释 Ctrl+\Java编辑器注释 Ctrl+/Java编辑器添加导入 Ctrl+Shift+MJava编辑器组织导入 Ctrl+Shift+OJava编辑器使用try/catch块来包围未设置,太常用了,所以在这里列出,建议自己设置。