首页编程java编程java中的debug有什么用?java调试中debug怎么用

java中的debug有什么用?java调试中debug怎么用

编程之家2023-10-1390次浏览

大家好,如果您还对java中的debug有什么用不太了解,没有关系,今天就由本站为大家分享java中的debug有什么用的知识,包括java调试中debug怎么用的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

java中的debug有什么用?java调试中debug怎么用

android应用程序开发中run和debug 有什么区别

能够在eclipse上运行调试应用程序之前,你必须为它创建一个启动项。启动项指定哪个工程将被启动,哪个activity开始工作,以及使用哪些模拟器选项等。

按照以下步骤为Eclipse版本的应用程序创建合适的启动项:

打开启动项管理工具。

java中的debug有什么用?java调试中debug怎么用

在Eclipse 3.3(Europa)的版本中,酌情选择 Run> Open RunDialog... or Run> Open Debug Dialog...。

在Eclipse3.4(Ganymede)版本中,酌情选择 Run> Run Configurations...or Run> Debug Configurations...。

在左边的工程类型列表选择Android Application选择,双击(或者点击右键选择new),创建一个新的启动项。

java中的debug有什么用?java调试中debug怎么用

输入启动项名称。

在Android标签中,浏览要开始的工程和Activity。

在Target标签中,设置想要显示的屏幕及网络属性,以及其他任何模拟器启动选项。

你可以在Common标签中设置更多的选项.

按下Apply保存启动配置,或者按下Run或Debug()。

运行和调试应用程序

一旦你设定了工程和工程启动配置,你就可以按照以下的说明运行和调试应用程序了。

从eclipse主菜单,根据情况选择Run>Run或者 Run>Debug,开始运行或者调试活动启动项。

注意,这里活动启动项是在运行配置管理中最最近一次选中的那个。它不一定就是在Eclipse Navigation面板中选择的程序(如果有的话)

设置和修改活动启动项,可以使用启动项管理工具。如何获得启动项管理工具可以参考创建一个启动项

运行或调试应用程序将触发以下动作:

启动模拟器,如果他还没有开始运行。

编译工程,如果在上次编译的基础上修改过代码,将重新编译。在模拟器上安装应用程序。

Run选项,开始运行程序。

Debug在"Wait for debugger"模式下启动程序,然后打开调试窗口并将Eclipse Java调试器和程序关联。

利用其他IDEs和工具开发Android应用程序

通常我们使用安装有ADT插件的eclipse Eclipse with the ADT plugin.来开发Android程序,这个插件将编辑,build和调试功能集成到IDE上。

然而,如果你想在其他的IDE上开发程序,例如IntelliJ,或者使用没有ADT插件的eclipse也可以。SDK提供了安装,编译,调试应用程序所需要的工具。

创建一个android工程

Android SDK包含一个activityCreator的程序,它将为工程产生多个stub文件和一个build文件。你可以用这个程序创建一个新的 Android工程或者在现有代码上创建工程,如SDK中包含的例子。对于Linux和Mac系统,SDK提供activityCreator.py,一个 Python脚本,Windows上则是activityCreator.bat一个批处理脚本。无论是哪种平台,用法是一样的。

按以下步骤运行activityCreator创建Android工程:

在命令行下,切换到SDK下的tools/目录下,为你的工程文件新建一个目录。如果你是在现有代码上创建工程,切换到程序的根目录下。

运行activityCreator。在命令行下,你必须指定完全合格的类名作为参数。如果你是创建一个全新的工程,这个类代表的与它同名的stub类和脚本文件。如果是在现有代码上创建工程,必须指定软件包中其中一个Activity类的名称。命令选项的脚本包括:

--out<folder>设定输出目录。默认情况下输出目录为当前目录。如果你想为工程文件创建一个新的目录,可以使用这个选项来指向它。

--ide intellij,在一个新的项目中生成IntelliJIDEA工程文件。

这里有个例子:

~/android_linux_sdk/tools$./activityCreator.py--out myprojectyour.package.name.ActivityName

package: your.package.name

out_dir: myproject

activity_name: ActivityName

~/android_linux_sdk/tools$

activityCreator脚本生成以下文件和目录(但是不能重写已有文件):

AndroidManifest.xml程序的清单文件,同时为工程指定Activity类。

build.xml一个Ant文件,用来编译/打包应用程序。

src/your/package/name/ActivityName.java你指定的输入Activity类。

your_activity.iml, your_activity.ipr, your_activity.iws [only with the-ide intelliJ flag] intelliJ工程文件

res/资源目录.

src/源代码目录.

bin/ build脚本的输出目录.

现在你可以将开发文件夹移到任何地方,但是记住,必须使用tool/文件夹下的adb程序将文件发送到模拟器上。因此你需要在你工作环境和tools/文件夹之间活动。

当然你需要避免移动SDK目录,因为它将打断编译脚本。(再重新build之前需要手动更新SDK的映射路径)

编译 android应用程序

使用activityCreator生成的Ant文件build.xml来编译程序

如果你没有,你可以通过Apache Ant home page得到Ant文件。安装它,并确定它在你的可执行文件路径下。

呼叫Ant之前,你需声明JAVA_HOME环境变量,并将它设置为JDK的安装路径。

注意:在windows上,JDK默认的安装路径为"ProgramFiles",这个路径将会引起Ant失败,因为路径中间有空格。解决这个问题,你可以像这样指定环境变量 JAVA_HOME:JAVA_HOME=c:\Prora~1\Java\然而简单的解决方法是将JDK安装在没有空格的目录下。例如:c:\java\jdk1.6.0_02.

如果你还没有这么准备好,按照上面创建一个新的工程的介绍建立一个工程。

现在你可以为你的工程运行Ant编译文件,只需在build.xml同文件夹下输入ant即可。每次修改原文件或是资源,都需要重新运行ant,它将把最新版的应用程序打包以便deploy.

运行Android程序

运行一个编译好的程序,你需要用adb工具将.apk文件加载到模拟器的/data/app/目录下,用法如下面介绍。

启动模拟器(命令行下运行sdk目录下的/tools/emulator)。

模拟器切换到主画面(最好不要在程序运行的时候向模拟器安装程序,可以按home键离开应用程序)。

运行adb,安装myproject/bin./<appname>.apk文件。例如,安装Lunar Lander示例,命令行下,切换到SDK目录下的/sample/LunarLander子目录下,输入../../tools/adbinstall bin/LunarLander.apk

在模拟器中,打开可执行程序列表,卷动屏幕,选中并启动你的应用程序。

注意:当你第一次安装一个Activity时,你可能需要在启动项显示之前,或者其它程序调用它之前重新启动模拟器。因为软件包管理工具通常只有在模拟器启动时才能完全的审查manifests。

为程序附加调试器

这一节我们介绍如何在屏幕上显示调试信息(例如CPU使用率),以及如何将IDE和模拟器上运行的程序关联起来。

使用eclipse插件可以自动的生成调试器。但你也可以通过配置IDES来监听调试端口得到调试信息。

启动Dalvik Debug Monitor Server(DDMS)工具,它在IDE和模拟器之间扮演着端口转换服务的角色。?

设置模拟器调试配置选项。例如,等到调试信息被加载后才启动应用程序。注意,很多调试选项无需DDMS也可以使用,例如模拟器上显示CPU的使用效率,或者屏幕的刷新频率。

配置IDE,使得调试时IDE与8700端口关联.how to set up Eclipse to debug your project.包含以下信息。

配置IDE附加调试端口

DDMS将为每一个虚拟机分配一个特殊的调试端口,这个端口在模拟器上可以找到。你必须将你的IDE与此端口(虚拟机上信息栏中有列出这些端口)关联或者是默认的端口8700。这样可以使IDE连接到模拟器上程序列表中的任一个程序。

你的IDE需要能够关联模拟器上正在运行的程序,显示它的线程,并允许你挂起它,检查它的状态,设置断点。如果你在开发设置面板选择了“等待调试”,应用程序将等到Eclipse连接后才运行,所以你需要在连接之前设置断点。

修改正在调试的程序,或者在当前程序运行时选择“等待调试”将引起系统杀死这个应用程序。如果你的程序处于一种坏的状态,你可以使用方式杀死它,方法很简单,只需要设置和钩掉复选框。

为啥我的eclipse无法进行debug了

eclipse不能进入debug模式的解决方法

我用的是Spring Source开发工具,昨天下午本来想调试程序,发现不能进入debug模式,设置断点没有用,直接就返回非debug模式运行下的结果,在网上找了半天也没找到解决方法。

网上提供的方法大概有以下几种:

1、查看断点设置的位置是否正确的,可以在断点处加入了System.out.println()语句,看运行程序后有输出。

2、查看服务是否正常启动。

3、clean下项目后再重新编译运行。

这几个方法我都试了,都没有效果。我把项目删了重新导入,还是不行。后来,在同事的指导下,才解决了问题。

具体方法:

找到Debug中的项目,右击,选择edit Source Lookup,先remove掉之前的,然后add当前workspace。最后确认下,重新启动服务就可以了。

如果有进入了debug模式,但是程序中没有绿色进度条跟踪,这么做一下,也OK了。

扩展资料:

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。

设计者开发时总的指导思想是,对于一个特定的问题,只要有一种最好的方法来解决就好了。这在由Tim Peters写的Python格言(称为The Zen of Python)里面表述为:There should be one-- and preferably only one--obvious way to do it.这正好和Perl语言(另一种功能类似的高级动态语言)的中心思想TMTOWTDI(There's More Than One Way To Do It)完全相反。

Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。

一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

java调试中debug怎么用

最基本的操作是:

1.首先在一个java文件中设断点,然后debug as-->open debug Dialog,然后在对话框中选类后--> Run

当程序走到断点处就会转到debug视图下。

2.F5键与F6键均为单步调试,F5是step into,也就是进入本行代码中执行,F6是step over,

也就是执行本行代码,跳到下一行,

3.F7是跳出函数

4.F8是执行到最后。

1.Step Into(also F5)跳入

2.Step Over(also F6)跳过

3.Step Return(also F7)执行完当前method,然后return跳出此method

4.step Filter逐步过滤一直执行直到遇到未经过滤的位置或断点(设置Filter:window-preferences-java-Debug-step Filtering)

5.resume重新开始执行debug,一直运行直到遇到breakpoint

6.hit count设置执行次数适合程序中的for循环(设置 breakpoint view-右键hit count)

7.inspect检查运算。执行一个表达式显示执行值

8.watch实时地监视变量的变化

9.我们常说的断点(breakpoints)是指line breakpoints,除了line

breakpoints,还有其他的断点类型:field(watchpoint)breakpoint,method

breakpoint,exception breakpoint.

10.field breakpoint也叫watchpoint(监视点)当成员变量被读取或修改时暂挂

11.添加method breakpoint进入/离开此方法时暂挂(Run-method breakpoint)

12.添加Exception breakpoint捕抓到Execption时暂挂(待续...)

断点属性:

1.hit count执行多少次数后暂挂用于循环

2.enable condition遇到符合你输入条件(为ture\改变时)就暂挂

3.suspend thread多线程时暂挂此线程

4.suspend VM暂挂虚拟机

13.variables视图里的变量可以改变变量值,在variables视图选择变量点击右键--change value.一次来进行快速调试。

14.debug过程中修改了某些code后--〉save&build-->resume-->重新暂挂于断点

---------------------------------------------------------------------------------------------------------------------------------------------------------------

调试运行的快捷键:

Shift+Alt+D弹出菜单后按J:Java程序调试

Shift+Alt+D弹出菜单后按R:在Web Server上调试

Shift+Alt+D弹出菜单后按Q:Ant Build调试

调试过程中的快捷键:

F6:单步执行Step Over。通常如果不关心该语句的调用细节,单步执行就可以了。

F5:跟入Step into。一般会跟踪进入到调用函数的函数体,Step Over则不会跟踪进入,直接把调用当做一个语句处理。

F7:返回到调用处Step Return。如果无意Stepinto了一个不需要关心的函数,或者没有必要再对某个函数跟踪了,直接F7返回到调用语句处。

F8:运行至下一断点Resume。

调试中需要关心的是断点和变量。掌握一定的设置断点技巧是必须的。

1、如何跳过一段循环

有的时候跟踪代码执行,无意中进入了循环中,看了几次发现没什么问题了。是不是要StepOver到循环结束呢,或许你会Step Return,那么循环下面的代码就跟踪不到了。这时候就要利用Resume这个有趣的特性了。

去掉旧断点(循环体内的),增加新断点(循环体外),然后Resume(F8)。

2、如何调试递归调用

还是要巧用F7(StepReturn)、F8(Resume)这两个键。

另外别忘了Debug模式中的Expressions视图(Window->show view-> Expressions)

把你关心的递归变量的表达式都add进来吧,这样看起来就比Variable轻松多了。

Expressions不仅支持显示运算结果、数组元素,还可以显示方法返回值。你只需要将你关心的表达式写进来就可以了。

返回上一层递归,使用F7。跳过循环使用上面的方法。

还有巧设断点。直接让光标运行到你需要关注的地方。

在Expressions中添加能区分递归层次的表达式,这样你看起来就不会乱(不知道调用到哪一层了)。

如果你还想了解更多这方面的信息,记得收藏关注本站。

java中api是什么 JAVA的API是什么意思漂白剂 漂白剂能把衣服漂白吗