首页 / JAVA / Java应用程序的调试/标准版本
Java应用程序的调试/标准版本
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java应用程序的调试/标准版本,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2067字,纯文字阅读大概需要3分钟。
内容图文
![Java应用程序的调试/标准版本](/upload/InfoBanner/zyjiaocheng/754/7bc8378a8b0e4f07803c3e034e9dff8f.jpg)
问候,
我正在使用嵌入式java,我将应用程序写入低资源设备.我得到的一个问题是当代码崩溃时设备停止.我可以通过我添加的一些日志记录从中获取一些信息. (简单的打印陈述)
由于内存限制,此日志记录无法保留在应用程序中.
我想知道有没有人知道有一个标志我可以传递给JVM,如果它是我需要的调试或标准编译.
如果它是一个调试版本,我希望包含print语句,如果它是一个删除print语句的标准版本.我问,因为我要经常剪切和粘贴语句等(这是一个痛苦的事)
谢谢
解决方法:
您可以利用编译器优化if(常量)的事实.
在名为DEBUG的地方创建一个全局变量:
public static final boolean DEBUG = true;
然后像这样进行日志记录:
if (DEBUG) {
System.out.println("Debug");
}
要禁用调试,只需将DEBUG更改为false,编译器将优化所有日志记录语句.您可以通过使用javap -c查看生成的字节码来验证这一点.
例如:
class DebugTest {
public static final boolean DEBUG = true;
public static void main(String[] args) {
if (DEBUG) {
int a = 10;
System.out.println("a = " + a);
}
}
}
编译为:
Compiled from "DebugTest.java" class DebugTest extends java.lang.Object{ public static final boolean DEBUG; DebugTest(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."":()V 4: return public static void main(java.lang.String[]); Code: 0: bipush 10 2: istore_1 3: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 6: new #3; //class java/lang/StringBuilder 9: dup 10: invokespecial #4; //Method java/lang/StringBuilder."":()V 13: ldc #5; //String a = 15: invokevirtual #6; //Method java/lang/StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder; 18: iload_1 19: invokevirtual #7; //Method java/lang/StringBuilder.append:(I)Ljava/lang/StringBuilder; 22: invokevirtual #8; //Method java/lang/StringBuilder.toString:()Ljava/lang/String; 25: invokevirtual #9; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 28: return }
将DEBUG更改为false产生:
Compiled from "DebugTest.java" class DebugTest extends java.lang.Object{ public static final boolean DEBUG; DebugTest(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."":()V 4: return public static void main(java.lang.String[]); Code: 0: return }
内容总结
以上是互联网集市为您收集整理的Java应用程序的调试/标准版本全部内容,希望文章能够帮你解决Java应用程序的调试/标准版本所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。