java菜鸟快速上手指南
Posted redguardtoo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java菜鸟快速上手指南相关的知识,希望对你有一定的参考价值。
在最简陋的开发环境下如何编写调试一个hello world程序。
适用于对java语法一无所知的菜鸟程序员,或者只想写代码但对面向对象没兴趣的程序员
开发环境,只要你安装了java sdk即可
源代码hello.java:
public class hello{
public static void main(String[] args)
{
System.out.println("hello world"); }
}
编译:
>javac hello.java
或者
>javac -g hello.java。
-g表示生成的目标文件带有调试符号(推荐,因为后面使用jdb调试代码需要这些符号)。编译出来的目标文件为hello.class
运行:
>java -cp . hello
注意hello后面不需要带.class后缀名。
调试:
进入hello.class和hello.java所在目录。
>jdb -classpath . hello
进入了jdb的交互的调试环境
在函数main中设置断点:
>stop in hello.main
jdb显示提示信息:
Deferring breakpoint main.hello.
It will be set after the class is loaded.
上面的hello是类名,也就是hello.class中的hello,hello.java中的hello。main是函数名。如果在hello.java的第一行中有"package any_namespace;"语句,正确的类名就是any_namespace.main,那么在jdb中设置断点的语句为:
>stop in any_namespace.hello.main
设置完断点后运行程序:
>run
可以看到jdb运行到断点所在位置停了下来。设置断点到类hello(在java中,类名和文件名实际上是一个意思)第3行的语句为:
>stop at hello:3
显示表达式的语句为print variable_name,显示当前调用堆栈的语句为where,单步调试的语句为next或者step(我想next和step的区别不用我多罗嗦了),显示当前代码的语句为list。要看jdb的在线帮助,输入help(聊胜于无的帮助而已)。
use命令为调试符号指定所对应的源代码文件的搜索路径,如果我们删除hello.java,然后重新启动jdb,设置断点,运行hello,jdb会报告"Source file not found: hello.java",这时候输入use,可以看到当前的源代码搜索路径为".",如果将hello.java拷贝到父目录,然后输入命令"use .;..",告诉jdb不仅去当前目录搜索hello.java,也要到父目录搜索hello.java,再输入list命令,现在可以看到jdb正确地显示了源代码。
<iframe frameborder="0" src="http://www.google.com/gn/static_files/blank.html" style="position: absolute; display: block; opacity: 0.7; z-index: 500; width: 17px; height: 21px; top: 49px; right: 129px;" id="gn_notemagic"></iframe>以上是关于java菜鸟快速上手指南的主要内容,如果未能解决你的问题,请参考以下文章