站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
BlueJ/调试
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{BlueJ top}} 本条目介绍了[[BlueJ]]提供的调试功能的最重要的几个方面。我们把这个[[调试器]]做的尽可能的简单。我们的目标是编写一个15分钟内就能学会使用的调试器,并且能够在没有更多指导的情况下使用它。现在来看看我们是如何做到这一点的。首先我们简化了传统调试器的在以下三个任务上的功能: *设置断点 *单步执行 *查看变量 我们现在就试着演示每一项任务。开始前,请打开工程 debugdemo,在安装目录下的 example 目录下可以找到。这个工程包含了一些专门为演示调试器功能的类——他们不关心其他的一些事情。 ==设置断点== 设置断点允许你在[[源代码]]的某一行打断程序的执行。当程序的执行被打断后,你可以查看的你的工程的状态。它通常可以帮助你理解你的源代码到底做了什么。 在编辑器文本区的左边是断点区(如下图).你可以通过在断点区单击来设置断点。一个小的停止图标会出现来标明断点。现在试一下。打开类Demo,找到方法loop,在for循环内部设置一个断点,停止图标应该会出现在你的[[编辑器]]窗口里。 [[Image:BlueJ 13.jpg]] 当执行到断点所在的行时,执行过程就会被打断。让我们试一下。创建一个 Demo 对象并且用参数(10)调用 loop 方法。只要执行到断点所在行,编辑器窗口就会自动跳出,显示当前行的 [[代码]]。同时调试器窗口也会出现. 高亮显示的行是下一步要执行的行。(执行过程在改行还没被执行前被打断)。 小结:要设置断点,单击编辑器左边的断点区。 ==单步执行== 现在我们已经打断了程序的执行(这是我们相信,这个方法确实被执行了,并且断点的代码也确实被执行到了),我们能够单步执行去查看这个[[程序]]是如何向下执行的。要做到这一点, 不断的点击调试窗口里的单步按钮。你应该可以看到编辑器里的行号不断的变化(高亮显示的行随着将要被执行的行而移动). 每次你点击单步,一行会被执行并且又一次停止执行。同时请注意在调试窗口里显示的变量值也在不停的改变(比如 sum )。所以你可以一步一步的执行来观察发生了哪些变化。一旦你厌倦了单步执行,你可以再一次点击断点图标来删除它,然后点击调试器里的继续图标来重新启动执行过程,按正常的执行顺序执行。 让我们用另一个方法来试一下。在 Demo 类 carTest()方法里如下一行设置一个断点: '''places = myCar.seats();''' 调用这个[[方法]]。当该行被执行到时,正要执行Car类的seats()方法。单击单步会执行整个行,而不会进入seats()方法。这次让我们试试单步进入 。如果你使用单步进入,你就会进入到一个方法的内部,单步执行该方法(就跟单步一样)。你能够很高兴的单步跟踪这个方法知道该方法结束返回调用它的函数,注意调试器显示的变化。 单步和单步进入在当前行没有的用方法的情况下是一样的。 小结:要单步调试,使用调试器的单步或单步进入按钮. ==查看变量== 当你调试你的代码的时候,能够了解你的对象的当前的状态是很重要的(局部变量和成员实例变量)。 要做到这一点是很简单的。你不需要特别的命令来查看变量;当前对象的成员变量和当前方法的局部变量都会被自动显示和更新。你可以选择调用栈里的方法来查看其他当前活动的对象或方法的变量。试一下,比如,在 carTest()方法里再一次设置断点。在调试器窗口的左端,你能看见调用栈,当前的显示是 Car.seats Demo.carTest 这表示 Car.seats 被 Demo.carTest 调用了,你可以选择这个列表中的 Demo.carTest 来查看源代码和当前各个变量的值。 如果你单步运行包含 new Car(…)的行。你可以看到局部变量 myCar 的值显示在<Object Reference>里。所有 Object 子类类型变量的值(除了String)是通过这个方法显示的。你可以通过双击这些变量来查看它们的值。这样做的话会弹出一个和前面描述一致的对象查看窗口,在这里查看对象状态和在对象槽里查看是一样的。 小结:查看变量是很方便的——它们被自动显示在调试器窗口里 ==暂停和中止调试== 有的时候一个程序运行了很长的时间。你开始怀疑是不是出了问题。也许存在一个无限循环,也许长时间运行是正常的。好,我们可以检查一下。在 Demo 类里调用 longloop(),这个方法运行很长时间。 现在我们想知道程序运行的怎么样了。打开调试器窗口,如果它还没有被打开的话。(顺便说一下,在执行过程中点击代表虚拟机正在运行的旋转图标是打开调试器的一个快捷方式). 现在点击 暂停 按钮。程序的执行被停止了就跟我们设置了一个断点一样。现在你就可以单步执行一段,观察对象,看看是不是一切正常——它只是需要更多的时间来完成运行。你可以 继续 暂停 几次来看看它计数有多快。如果你真的不想让它再继续执行下去(比如,你发现你的程序已经陷入了死循环),你可以点击中止来中止程序的执行。中止操作不应该被频繁使用——这样会使用那些实现的很完美的类进入不一致的状态。所以建议只把这项功能作为一项紧急措施来使用。 小结:暂停和中止可以用来暂时或永久打断程序的执行 ==参考来源== http://www.bluej.org/index.html {{BlueJ}} [[category:BlueJ|B]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:BlueJ
(
编辑
)
模板:BlueJ top
(
编辑
)