现在的位置: 首页 > 综合 > 正文

java菜鸟快速上手指南

2012年11月08日 ⁄ 综合 ⁄ 共 1150字 ⁄ 字号 评论关闭

在最简陋的开发环境下如何编写调试一个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正确地显示了源代码。

抱歉!评论已关闭.