java 如何判断一个程序是否卡死,然后再处理

java 如何判断一个程序是否卡死,然后再处理,第1张

一般来说需要处理超时问题,你的系统应该是有和硬件做交互,这个时候有两种做法,一种是硬件本身做超时设置,比如一个线程处理接收到的指令,另一个线程处理计时,时间到后没有收到信息就是超时,超时后执行复位 *** 作

另一种是外部系统做处理,方式一样,但是有漏洞,一般来说没有第一个指令发出后及时你外部做了超时中断,也有可能硬件线程无法终止导致卡机,除非杀死进程,但是程序的复杂性就增加了

总之:你想通过JAVA来判断一个程序是否卡死,最好的方法是这个程序能够自己判断是否卡死,否则JAVA程序还是会有点问题。如果说如何实现,就是用线程的方式实现

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

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

打开启动项管理工具。

在Eclipse33(Europa)的版本中,酌情选择Run>OpenRunDialogorRun>OpenDebugDialog。

在Eclipse34(Ganymede)版本中,酌情选择Run>RunorRun>Debug。

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

输入启动项名称。

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

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

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

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

运行和调试应用程序

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

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

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

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

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

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

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

Run选项,开始运行程序。

Debug在"Waitfordebugger"模式下启动程序,然后打开调试窗口并将EclipseJava调试器和程序关联。

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

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

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

创建一个android工程

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

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

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

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

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

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

这里有个例子:

~/android_linux_sdk/tools$/py--outpackagename

package:yourpackagename

out_dir:myproject

activity_name:

~/android_linux_sdk/tools$

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

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

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

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

your_activityiml,your_activityipr,your_activityiws[onlywiththe-ideintelliJflag]intelliJ工程文件

res/资源目录

src/源代码目录

bin/build脚本的输出目录

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

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

编译android应用程序

使用生成的Ant文件buildxml来编译程序

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

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

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

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

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

运行Android程序

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

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

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

运行adb,安装myproject/bin/apk文件。例如,安装LunarLander示例,命令行下,切换到SDK目录下的/sample/LunarLander子目录下,输入//tools/adbinstallbin/LunarLanderapk

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

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

为程序附加调试器

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

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

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

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

配置IDE,使得调试时IDE与8700端口关联howtosetupEclipsetodebugyourproject包含以下信息。

配置IDE附加调试端口

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

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

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

>

如果在 Eclipse 控制台中出现小方框□,这通常表示控制台无法正确显示某些字符,可能是由于控制台使用的字符集与您的代码或系统使用的字符集不匹配所导致。

为了解决这个问题,您可以尝试以下几种方法:

1 更改控制台字符集:在 Eclipse 中,您可以通过“窗口”->“首选项”->“一般”->“工作空间”->“文本文件编码”来更改控制台字符集。尝试将控制台字符集更改为与您的代码或系统使用的字符集匹配的字符集,例如 UTF-8 或 GBK。

2 更改代码字符集:如果您的代码中包含某些无法正确显示的字符,可以尝试更改代码文件的字符集。在 Eclipse 中,您可以右键单击代码文件,选择“属性”->“资源”->“文本文件编码”,将其更改为与您的控制台字符集匹配的字符集。

3 使用 Unicode 字符:如果您需要在控制台中显示特殊字符,例如非 ASCII 字符,可以使用 Unicode 字符。在 Java 中,您可以使用 Unicode 转义序列来表示 Unicode 字符,例如 '\uXXXX',其中 XXXX 是该字符的 Unicode 码点。

希望这些方法能够帮助您解决问题。如果问题仍然存在,请尝试在 Eclipse 官方论坛或社区寻求帮助。

设置一个断点,然后运行。到那个断点的时候就会停那。

怎么设置断点:1,设置:在代码行的左边双击你需要设置的代码行

2,取消:同理双击已经产生的代码行断点

怎么调:1,当进入debug界面后有stepinto和stepover配合使用。

2,stepinto进入你当前需要的方法体,stepover不进入方法体,直接获取值。

怎么看:在你进入debug视图后,应该初始的时候是你的右上角有个窗口,分步去看里面你想得到的值。

打字辛苦,希望采纳。

eclipse断点调试快捷键主要有 F5、F6、F7、F8

解释说明:

按F5就是一层层深入的debug相当于剥葱样,会进入每个方法内部;

按F6就是在当前函数一步步debug,不理会深层次运作;

按F7就是如果当前进入了某个方法内部,都跳转到该方法的结尾代码处;

按F8就是如果后面还有断点,则运行到下一断点处,否则运行完程序。

设置断点是为了调试状态下运行程序,使得编程人员可以看到程序运行过程中的数据变化情况,检验代码是否正确。

扩展资料

Eclipse调试Java程序的技巧:

1、不要调试太多

一个关于调试的疯狂声明作为开头。但它必须是要说的!尝试切分一下你那复杂的逻辑成多个独立的单元,并编写单元测试来检测你代码的正确性。我想像如下这样的流程应该是发生得非常频繁的。

2、断点视图:Watchpoints

如果改变这个变量会有什么结果! 有时候创建一个watchpoint对于调试会非常有用。调试器会停止,不管这个被观察的字段是被修改还是被读取 - 你可以自己来配置决定。

run as java application

这个需要程序有一个

public static void main(String[] args0 {}

方法作为程序入口的。

你检查一下你的这个方法有没有,或者是否在一个public的类中!

以上就是关于java 如何判断一个程序是否卡死,然后再处理全部的内容,包括:java 如何判断一个程序是否卡死,然后再处理、RN,开发打包APK文件时报错,怎么解决_apk解析包时出现错误、关于ECLIPSE下 运行JAVA程序 不成功..新手求教 谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9647504.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存