动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.漫谈EJB对面向对象设计的影响.
.用Java实现断点续传.
.eclipse-SDK-3.0.1-win32.
.java 基本数据类型.
.爪哇语言抽象工厂创立性模式介绍.
.Java 技巧:用 Java 保存位图文件.
.让Java.net合作开发 Borland推跨.
.Java 按值传递参数.
.什么是 JScript?.
.关于build tool的构想--从ant说起.
.Hibernate分页查询原理解读.
.Struts中关于用户权限限定的建议.
.对象“友好的”访问.
.循速渐进学用Session Bean(一).
.java缓冲区溢出编程心得.
.Java 动态代理实现AOP.
.Java编程中异常处理的优劣之道.
.getUTCDay 方法.
.小写金额转成大写算法.
.迈博科技推出Ubox广域协同工作系.

Java调试教程--使用Jikes进行调试

发表日期:2008-1-5 |



  摘要

  在本练习中,我们将调试 LinkTree.Java 程序。其实代码并没有错误;然而我们完成调试过程只是为了把握这个过程。


--------------------------------------------------------------------------------



  Java调试教程--使用Jikes进行调试(上)

  SUN Laura Bennett

  启动 JD

  在本练习中,我们将调试 LinkTree.java 程序。其实代码并没有错误;然而我们完成调试过程只是为了把握这个过程。

  开始调试

  首先使用以下命令编译程序:


javac -g LinkTree.java



  该命令将执行:


e:jdk1.1.6injava -verbose -nojit
-classpath %JD%;%JDK% jd.Main
-classpath %JD%;%JDK%;%CLASSPATH%
-sourcepath e:jikes %1 %2 %3 %4 %5 %6 %7 %8 %9



  调试器启动并装入 LinkTree 类,它包含了 main() 方法,安装它以便调试。可以通过在命令 jd 后的命令行上输入参数(如 URL,用于开始打印页面链接)来传递这些参数。

  使用 Console 面板

  Console 面板显示了所有运行时异常。所有错误流都打印到这里。当应用程序请求时,您也可以在这里输入输入信息。文本信息都打印到 Console 面板。

  在 Source editor 面板中逐行单步调试

  让我们开始调试应用程序,使用的方法是逐行单步调试应用程序。从菜单或使用鼠标右键选择 Step Into。步入程序将通知调试器开始执行当前源码。始终从应用程序中的main() 方法开始执行。现在应该看到其它填充了信息的面板。我们将提供关于每个面板的讨论和如何使用每个面板的描述。通过单击窗口的右下方的 Step Over 按钮,逐行单步调试代码。将以白色突出显示当前行。不幸的是,不能在左边看到行号,所以我们将在内容中指出行号。下图中显示了用于单步调试的按钮。假如将鼠标放在任何一个按钮上,将出现一个弹出框,说明该按钮的功能。Stepping into 单步进入方法。Stepping Over 转到同一个方法中的下一个语句。Stepping Out 返回到当前方法的调用程序。Run 按钮一直运行到下一个断点或程序结束。

  在 Source editor 面板中设置断点

  在某一行代码上单击鼠标左键来设置断点。您将看到在所选择行的左边有一个红色圆圈,当中有一个赞叹号。设置断点时,代码将运行到用断点符号标记的那行。假设您正在尝试观察一段特定代码,而这段代码很深,以至于逐行单步调试需要很长时间。解决方案是在希望程序停止的位置设置断点。

  本例中,让我们设置断点来监控 links 的值。假如此时应用程序正在调试器中运行,单击 Stop 按钮以终止执行。应用程序终止后,转至应用程序的源代码并用鼠标左键单击


Vector links = new Vector(); 语句(在以下代码样本中以粗体字显示)。
// Recursive method to list all urls in site
private void listAll( int depth )
{
Vector links = new Vector();
{
printURL( depth );
//links = parseHtmlContainsLinks(getName());
}
if( !((links =
parseHTMLContainsLinks(getName())).isEmpty(
)))
{
//links = parseHTMLContainsLinks(getName());
for( int i = 0; i < links.size(); i++ )
{
if
(!(excludedURLS.contains((String)links.elementAt(
i))))
{
LinksTree child = new
LinksTree((String)links.ele
mentAt(i));
child.listAll( depth + 1 );
}
}
}
}

  Source 编辑器窗口将显示带有以下断点的代码。

  运行应用程序,并观察它在包含断点的那行停止。可以对代码的运行情况执行更深入的分析。下一屏中,我们将讨论检查变量。请注重,检查了变量之后,可以使用 Run 或Step Into 按钮执行逐行单步调试或继续完整的、不间断的执行。

在 Locals 面板中检查变量设置了断点且应用程序暂停之后,Local 面板将显示所有局部变量引用。以下示例中显示了局部变量在应用程序中当前设置的断点位置的状态。可以看到,显示每个局部变量的同时,还显示其相关的类型和值。

  在 Callers 面板中查看调用堆栈调用堆栈是一个列表,它列出了在执行的断点位置之前已经调用或执行过的类。最近调用或执行的方法在堆栈的顶部。从上往下数第二个元素发出了一个调用来执行最顶部的方法,依次类推。在以下示例中,从 main() 方法中调用了 listAll()。

  在 Threads 面板中检查线程由于 Java 代码是多线程,因此它必须能够监控个别线程的进程。Threads 显示了当前正在执行的线程的状态。在我们的代码中,只有一个线程。在更复杂的应用程序中,可能会看到在 thread 面板中列出了多个线程。

  在 Classes 面板中查看已装入的类Classes 面板中列出了在执行程序时装入的类。选择那些类中的任何一个以在 Source 面板中查看代码。请记住,假如没有使用 -g 选项来编译类,就无法查看源码。

  完成实例研究

  您已经了解如何有效使用 Jikes 调试设施来追捕和查明错误。我们使用相当简单的示例来演示了调试器。我们建议使用更复杂的 Applet 或应用程序来增加您使用调试器的经验。

  请记住,Jikes是一个开放源码调试器,所以我们希望您更新并增强它。最后,但也是相当重要的,请与开发者社区共享您的更改
上一篇:Java调试教程--基础知识概述 人气:511
下一篇:Java调试教程--客户机端调试 人气:455
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-10-10 企业网站智能管理系统(TZIMS) v6
2008-10-10 拓文asp.net网站内容管理系统 v6
2008-10-10 动网论坛PHP版 v2.0++ Build 081
2008-10-10 免费时代CMS v5.0
2008-10-10 wodig第四季中文DIGG社区 v4.1 b
2008-10-10 老Y文章管理系统 v2.2 bulid 081
2008-10-10 魔法盒动感相册 ASP+SQL版 v2.0
2008-10-10 Asoft签到管理系统 v3.0 Pack1
2008-10-10 哥特人音乐网潮流留言本 v1.1
2008-10-11 联系人分组工具 v1.1 中文破解版
2008-10-11 FaceMelter变脸 v2.0 汉化破解版
2008-10-11 PathTracker道路跟踪仪 v1.2 破解
2008-10-11 Rooms手机聊天室 v0.6.7 破解版
2008-10-11 RemoteDesktop远程桌面 v1.0 破解
2008-10-11 ProRemote远程调音台 v1.0.1 破解
2008-10-11 PicShare照片共享 v1.0.0 破解版
2008-10-11 Photogene照片编辑器 v1.5 汉化破
2008-10-11 WriteRoom共享文档 v1.0 破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成