<!-- saved from url=(0022)http://internet.e-mail -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta name="generator" content="Microsoft FrontPage 4.0">
<title>Building Applications: Debugging Java programs</title>
<meta name="Author" content="kt">
<link type="text/css" href="../jbdocs.css" rel="stylesheet">
</head>
<body bgcolor="#fefef2" style="FONT-SIZE: 9pt">
<a name="using_the_debugger"></a>
<STRONG><FONT color=#0080FF size=3 >调试 Java 程序</font></strong>
<hr>
译者名字: zdx_nari(JD001)<br>
邮件地址:<A href="mailto:zdx_nari@hotmail.com">zdx_nari@hotmail.com</A>
<p>调试就是在你的程序中定位和修改错误的过程。JBuilder的集成调试器使你能在JBuilder的环境中进行调试。 通过<a href="../ui/menus/mrun.html">Run</a>菜单条可以访问调试器的许多功能部件。你也可以在编辑器或在调试器中使用右击菜单来访问调试器的功能部件。</p>
<p>当调试器暂停你的程序,你可以察看程序数据项的当前值。在调试期间修改数据值提供了在程序运行时,检验假想错误(bug)的方法。</p>
<p> 调试指南,请参阅 <a href="../tutorials/debug/dbtutorial.html">"编译, 运行 和 调试."</a></p>
<p> 其余的信息和技巧可以在以下特定的调试主题中得到:</p>
<ul>
<li> 如果你的程序使用了<code>JDataStore</code>组件,请参阅 <cite>JDataStore Programmer's Guide</cite> 的<a href="../datastore/trouble.html">"Troubleshooting"</a> 章节。 <span class="bsku">(JBuilder Professional and Enterprise)</span></li>
<li> 如果你正在调试一个分布式应用程序,请参阅 <cite>Distributed Application Developer's Guide</cite>的 <a href="../distributed/distdebugging.html">"Debugging distributed applications" </a>章节。<span class="bsku">(JBuilder Enterprise)</span></li>
</ul>
<!--************************************************************--><a name="types_of_errors"></a>
<hr>
<p><font size="3" color="#000080"><b>错误类型</b></font></p>
<!--BNDX="errors:types of"-->
<p>调试器可以帮助找到运行器错误和逻辑错误。如果你找到或怀疑一个程序运行或逻辑错误,你可以通过在调试器的控制下运行你的程序从而开始一次调试过程(session)。 </p>
<a name="run-time_errors"></a>
<p><b><font color="#000080" size="2">Runtime errors</font></b></p>
<!--BNDX="runtime:errors;runtime:exceptions;debugging:runtime exceptions"-->
<p>如果你的程序调试通过了,但当你运行它时却给出违例或悬挂(hang),你遇到了一个运行时错误。你的程序包含了有效的声明,但这些声明在它们被执行时导致了错误。例如,你的程序试着打开一个不存在的文件,或者使一个数字被零除。</p>
<p>没有调试器,运行时错误很难被定位,因为编译器并没有告诉你它们的任何情况。经常,你可以使用的唯一线索就是程序运行的结果,例如屏幕的外形以及由运行时间错误产生的错误消息。</p>
<p>尽管你可以通过搜索你的程序源代码找到运行时间错误,但调试器可以帮助你快速地捕捉到这些错误类型。使用调试器,你可以运行到一特定的程序位置。在那儿,你可以一次一个声明(one statement at a time)地执行你的程序,观察你程序每一步的行为。在那儿,你可以修改源代码,重新编译程序,继续测试你的程序。</p>
<p>如果你的程序抛出了一个运行时间错误,将在<a href="#console_view">Console output, input, and errors view</a>打印一个堆迹(stack trace)。你可以双击堆迹的一行,来到对应的源文件中的那行代码。</p>
<p>在下面的例子中,一字符串("<kbd>eeee</kbd>")替代一个数字进入一个输入域。<code>NumberFormatException</code> 违例将被抛出。<code>FloatingDecimal.java</code>的源代码在编译器中显示;这是被抛出违例其所在的类。</p>
<p class="bfig">编译器中的运行时错误</p>
<p><img border="0" src="images/db_runtime_error.gif" width="602" height="490"> <!--************************************************************-->
</p>
<a name="logic_errors"></a>
<p><font size="2" color="#000080"><b>逻辑错误</b></font></p>
<!--BNDX="logic errors;debugging:logic errors"-->
<p>逻辑错误是在你程序的设计和实现时所发生的错误。你程序的声明是有效的(它们执行有结果),但它们执行的行为并不是你写代码时你想象中的行为。例如,当变量包含了不正确的值,图像看起来不正确,或者当程序的输出不正确,就可能发生逻辑错误。</p>
<p> 逻辑错误经常是最难发现的错误类型,因为它们在你想不到的地方出现。为了确信你的程序是按照设计要求而工作的,你需要彻底测试程序的所有方面。只有通过细察用户接口和程序输出的每一部分,你才能确信程序的行为与它的设计是一致的。和运行时间错误一样,调试器帮助你在程序执行时监视你程序变量和数据对象的值,从而定位逻辑错误。</p>
<p>
<a name="overview_of_the_debugging_process"></a>
</p>
<hr>
<p><font size="3" color="#000080"><b>调试过程概览</b></font></p>
<!--BNDX="debugging:overview"-->
<p>程序设计后,程序编码和调试的不断循环组成了程序开发。只有在你彻底的测试了你的程序后,你才成发布你它。为了确信你测试了程序的所有方面,最好是有一个全面的测试和调试计划。</p>
<p>
一个好的调试方法包括了把你的程序分解成几个可以系统调试的不同片断(section)。通过紧密监视每一程序片断的声明,可以证实每一部分是按照设计来执行的。如果你发现了一个程序错误,你可以在一的源代码中改正这个问题,重新编译程序并继续测试。</p>
<p><span class="bscan">注意:</span> 你可以用支持JPDA debugging API的任何JDK进行调试。通常,你将用JBuilder装载的JDK版本进行调试。<a name="compiling_with_debug_info"></a></p>
<p><font color="#000080" size="2"><b>用符号化调试信息编译工程</b></font></p>
<!--BNDX="compiling:programs with debug info;debugging:compiling with debug info;debug information:"-->
<p>当你开始一次调试过程时,你需要用符号化调试信息编译你的工程。符号化调试信息使调试器在你的程序源代码和编译器产生的Java 字节码之间进行连接。</p>
<p>默认情况时,JBuilder在你编译时包括符号化调试信息。为了确信当前工程设置了这个选项,</p>
<ol>
<li>选择 Project|Project Properties,打开工程属性对话框。</li>
<li>选择 Build 标签</li>
<li>检查这些调试选项的一种:
<ul>
<li>Source , Line and Variable Information: 当你编译,构造,或者重建一个节点时,包含了在<code>.class</code>文件中的源名,行数以及当地变量信息的调试信息。</li>
<li>Source And Line Only: 当你编译,构造,或者重建一个节点时,仅包含了在<code>.class</code>文件中的源名,行数的调试信息。</li>
<li>Source Only: 当你编译,构造,或者重建一个节点时,仅包含了在<code>.class</code>文件中的源名的调试信息。</li>
</ul>
</li>
</ol>
<p>为了给所有新的工程设置这个选项,选择 Project|Default Project Properties,然后在 Build 页选择位于第一的三个调试选项的一种。(设置默认的工程属性并不影响已存在的工程。)</p>
<p> 如果你选择了不包括任何调试信息的 None 选项,你仍可以进行调试。没有调试信息,<kbd>this</kbd>对象仍可以用来调试。通过选择这个选项,你可以显著地把类的尺寸减为最小。</p>
<p><span class="bscan">注意:</span> 你不能在Java API 类中看到变量信息,因为它们编译时仅有源名和行数信息。然而,你可以跟踪进类里。学习怎样跟踪进类里,请参阅 <a href="debug2.html">"Controlling which classes to trace into."</a> </p>
<p>当你产生符号化的调试信息,编译器把这些信息存入相关的<code>.class</code>文件中。这就使得<code>.class</code>文件比不带调试信息而编译的文件大许多。你可以在部署前把这个选项关掉。</p>
<p>为了在调试前自动进行编译,在 Project Properties 对话框 Run 页中选中 Compile Before Debugging 选项。 这个选项可以用来在调试器的控制下在你的工程运行前自动的编译它。如果不选中这个选项,JBuilder将在调试你的工程前不编译它,所以你的源文件和类文件会失去同步。如果这个选项被关了,先使用 Project|Make 命令。</p>
<a name="starting_debugger"></a>
<p><font color="#000080" size="2"><b>启动调试器</b></font></p>
<!--BNDX="debugging:starting;starting:the debugger"-->
<p>一旦在编译你的工程时包含了调试信息,你可以用以下的菜单项来启动调试器。</p>
<p class="btbl">启动调试器的菜单命令</p>
<table border="1" cellspacing="0" cellpadding="0">
<tr>
<th style="background-color: #000080"><font color="#FFFFFF" size="2">命令</font></th>
<th style="background-color: #000080"><font color="#FFFFFF" size="2">快捷键</font></th>
<th style="background-color: #000080"><font color="#FFFFFF" size="2">描述</font></th>
</tr>
<tr>
<td><font size="2">Run|Debug Project</font></td>
<td><font size="2"><kbd
没有合适的资源?快使用搜索试试~ 我知道了~
JBuilder5中文帮助文件
共226个文件
gif:139个
html:45个
htm:22个
需积分: 50 362 下载量 90 浏览量
2003-09-03
00:00:00
上传
评论 2
收藏 1.39MB RAR 举报
温馨提示
JBuilder5中文帮助文件 使用JBuilder学习Java 快速入门 创建Web应用 创建Enterprise Beans Java入门 Java语言简介 使用JBuilder建立应用程序 介绍 运行Java程序 调试Java程序 控制程序执行 使用断点 ..................... ............... 检查程序数据值 定制你的调试器 配置Java程序 使用Archive Builder 使用命令行工具 开发数据库应用程序 数据库应用程序开发人员指南 理解Jbuilder数据库应用程序 安装和设置数据库应用程序 从数据源中获得数据
资源推荐
资源详情
资源评论
收起资源包目录
JBuilder5中文帮助文件 (226个子文件)
jbdocs.css 3KB
archive_builder_step5.gif 43KB
archive_builder_step3.gif 42KB
archive_builder_step4.gif 42KB
archive_builder_step2.gif 42KB
archive_builder_step1.gif 41KB
xdatabindingwiz_borland_step2.gif 41KB
xdatabindingwiz_castor.gif 40KB
applet1_appwiz1.gif 39KB
archive_builder_step6.gif 39KB
gs_tdf_complete.gif 31KB
queryd.gif 30KB
gs_tdf003.gif 28KB
db_expression_insight.gif 28KB
db_tooltip.gif 27KB
db_in_appbrowser_overview.gif 27KB
db_execution_point.gif 26KB
designtools.gif 26KB
gs_tdf004.gif 25KB
db_breakpoints.gif 23KB
db_runtime_error.gif 19KB
gs_tdf001.gif 18KB
archive_node_in_appbrowser.gif 18KB
compilererrors.gif 18KB
runpage.gif 17KB
cocoon_webviewsource.gif 16KB
db_thread_view.gif 16KB
db_ide_colorops.gif 14KB
db_threadsview_localvars.gif 13KB
xcocoon_xmlsource.gif 11KB
cocoon_webview.gif 11KB
dbrkr13j.gif 10KB
db_debug_project_props.gif 10KB
runtimeprop.gif 10KB
db_runtime_config_debug.gif 10KB
xcocoon_xslsource.gif 10KB
configlist2_s.gif 9KB
db_stub_source.gif 9KB
res_query_complete.gif 9KB
paramqueryrun.gif 8KB
db_loadedclassesview_staticvars.gif 8KB
db_runtime_configs.gif 8KB
db_add_method_breakpoint.gif 8KB
db_add_cross_process_breakpoint.gif 8KB
archive_properties.gif 8KB
app_query.gif 8KB
xaddstylesheets.gif 7KB
queryr.gif 7KB
db_add_line_breakpoint.gif 7KB
xcss_source.gif 7KB
db_sync_monitors_view.gif 7KB
db_rundebug_intervals.gif 7KB
procDescr.gif 7KB
queryDescr.gif 7KB
pdsrun.gif 6KB
db_evaluatemodify_expr.gif 6KB
db_add_exception_breakpoint.gif 6KB
db_add_class_breakpoint.gif 6KB
db_classes_with_trace_disabled.gif 6KB
db_watchesview.gif 6KB
db_dlg_classes_with_trace_disabled.gif 6KB
param.gif 6KB
db_evaluatemodify_method.gif 5KB
runconfig.gif 5KB
db_log_message_bp.gif 5KB
db_expression_evaluation.gif 4KB
archive_node_project_pane.gif 4KB
db_adjust_rangearraydialog.gif 4KB
mf2.gif 4KB
db_toolbar.gif 4KB
db_dlg_stopped_in_class_trace_disable.gif 4KB
resBundle.gif 4KB
db_add_method.gif 3KB
db_status_bar_bp_msg.gif 3KB
db_changevalue.gif 3KB
db_bp_action.gif 3KB
db_bp_condition.gif 2KB
dbmonitoricon.gif 1KB
AddToProjectIcon.gif 962B
defaultstylesheetbutton.gif 958B
addstylesheetsbutton.gif 940B
runicon.gif 930B
runicon.gif 930B
db_object.gif 930B
db_thread_step.gif 930B
db_class_locked.gif 924B
dbthread.gif 922B
db_package.gif 921B
settracebutton.gif 916B
db_thread_suspended.gif 916B
db_null_object.gif 914B
toolbardebug.gif 909B
db_thread_blocked.gif 907B
db_error.gif 906B
db_field_breakpoint.gif 904B
db_warning.gif 903B
dbtracedisabled.gif 902B
db_toolbar_watch.gif 900B
db_toolbar_pause.gif 897B
dbconsole.gif 897B
共 226 条
- 1
- 2
- 3
资源评论
普通网友
- 粉丝: 882
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功