• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

JDB的简单使用(1)

发布: 2007-7-14 21:19 | 作者: 佚名    | 来源: 网络转载     | 查看: 12次 | 进入软件测试论坛讨论

领测软件测试网 JDB的简单使用(1)

当新手开始学习Java时,在一开始的新鲜感后马上就会发现的一个问题就是如何调试。大家知道在Visual C++中提供了很好的调试工具,使用起来特别的方便。Java中,以JDK为例,没有一个方便的图形界面,所以给新手调试带来了很多的困难。很多人一开始是用System.out.println()来观察输出结果。如果写的程序很大,这样的方法就显然是效率太低。下面结合自己的学习体会简单谈一下Java中的调试工具JDB的使用。

环境:jdk 1.2.2

首先我们写一个最简单的小程序,但是它包含了一些最基本的面向对象要素。

CCCCCC"> class test

{

int a;

int b;

test(int aa,int bb)

{

a = aa;

b = bb;

}

int add()

{return a+b;}

}

public class hehe

{

public static void main(String args[])

{

int a = 2;

int b = 3;

int c= a+b;

System.out.println(c);

test kk=new test(1,2);

System.out.println(kk.add());

}

存为hehe.java后,用javac -g hehe.java进行编译。用参数g是为了产生各种调试信息,不用就无法调试。如果这里遇到问题,请参考Helloworld攻略。上面的程序是可以通过的,可以直接用java hehe运行。下面结合该例子谈谈JDB的使用。

首先键入jdb hehe 如果出现下面信息,说明系统没有找到调试的类。此时可以用java -classpath . hehe命令解决。

C:\javasource>jdb hehe

Initializing jdb...

hehe not found

>

如果出现一下信息,说明开始进行调试,一切正常。如果是调试Applet,则用 appletviewer -debug hehe.html命令进行调试

C:\javasource>jdb -classpath . hehe

Initializing jdb...

0xb0:class(hehe)

>

回想VC中的调试,应该是设置断点,然后再进行跟踪。Java中也是一样。用stop命令进行断点设置。然后用 run 命令开始调试,运行程序到断点,这里断点是设置在 main 主函数中。

> stop at hehe:18

Breakpoint set at hehe:18

> run

run hehe

running ...

main[1]

Breakpoint hit: hehe.main (hehe:18)

main[1]

此时可以用locals命令查看变量,用step命令进入下一条命令,也可以用单独一个stop命令来查看断点的设置情况。注意此时b还没有被赋值。

main[1] locals

Method arguments:

Local variables:

args =

a = 2

main[1] step

main[1]

Breakpoint hit: hehe.main (hehe:19)

main[1]

当运行到 System.out.println() 函数时,会出现以下提示:

main[1] step

main[1]

Breakpoint hit: java.lang.ClassLoader.loadClass (ClassLoader:247)

这个是因为我们跟踪进去了 println 方法,我们一般没有必要这样做,此时可以用next跳过该方法进入到下一条一句。step的含义是进入函数跟踪,next是转入下一条语句执行。我们随时可以键入 locals 和 list 命令来查看变量值和当前运行的代码。下面箭头指到地方即为当前程序运行到的地方。
(未完待续)

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网