《算法 第4版》随书 IDE:如何使用 DrJava 来调试 Java 程序

10 篇文章 0 订阅

一、引言

只要有过一点点想要学习算法的同学们,肯定都了解过这样一本书

算法 第 4 版

这是一本奇书,具体好在哪里,我没看完也没有什么可以说的。但是关于这本书的配置环境,还是值得一谈的。

这本书使用了 algs4.exe 来一键安装所有的配置环境,这一点必须要点赞。可惜,我们在中国的网络环境下很难配置成功。这一点我通过翻墙来得以解决。

另外,这本书推荐了一个免费的 IDE - DrJava 。对于这个 IDE 的资料很少,并且只有英文资料。相信这一点就足以将许多读者拒之门外,进而选择 Eclipse 、IntelliJ Idea 等等更加强大完善的 IDE。

DrJava界面

但是呢,虽然 DrJava 简陋,但是功能也不弱小。有过刷 LeetCode 经验的我,甚至更喜欢那种越是简陋的编辑器,越是能够给自己带来一种编码的纯净感和思维的连续感。

那么,让我们来探索下 DrJava 这款 IDE 的调试功能吧。

二、简陋但是五脏俱全的 DrJava

第一门上手语言是 C++,从而自然而然使用了 VS。真是不用不知道,一用了其他 IDE,真心觉得 VS 真的很强大,尤其是调试功能。

这里针对于 DrJava 的调试功能进行探索。

Debugger

让我们打开 DrJava 的 Debugger 栏,可以看到里面的这些菜单选项,这就是我们能用到的调试项。我来一一解释一下:

调试项用途
Debug Mode点击这个按钮,当前程序运行后将进入调试模式,可以响应用户的断点、查看变量值等等
Toggle Breakpoint On CurrentLine在当前行打断点
Clear All BreakPoints删除所有的断点信息
BreakPoints显示当前程序中所有的断点信息
Resume Debugger重新运行程序,进入第一个断点停住
Step Into进入一个函数内部
Step Over执行完当前这句,移动到下一句停止
Step Out执行到下一个断点为止
Automatic Trace每隔一段时间(感觉像是1s)自动执行每一行,会让你看到执行过程,可以随时点击 Disable Trace 停止
Detacn Bugger退出 Debug 模式

三、让我们调试一个程序试试

这里,我选择了一份代码,选择进行调试。

Compile Project

  1. 首先点击 Compile Project编译这个项目,当然也可以只编译一个文件,这里我事先就已经创建了一个项目了,所以是 Compile Project
  2. 然后,我们在代码中 第 17 行打上断点。这里可以使用鼠标右键选择 Toggle Breakpoint或者快捷键Ctrl + B均可。打上了断点的行会显示为红色背景。
    同时,如果我们点击 Debugger -> Breakpoints,还可以看到我们在整个项目中打下的所有断点的信息。
  3. 进入 Debug Mode。我们点击 Debugger -> Debug Mode可以进入 Debug 模式。然后点击 Run。

run

此时,我们在 Interactions出看到了项目弹出的输入框,这是我们程序需要输入的内容,我输入了程序需要的 1 3两个值,然后程序自动运行到了第 17 行停下,这也是我们之前打了断点的地方。
我们可以看到断点处背景变为了蓝色,并且出现了 WatchesStackThreads等等窗口。通过这里,我们可以了解和控制调试过程。

  1. 我们来进入 caculate 函数调试。
    点击 Debugger -> Step Into 或者是 F12,我们可以进入这个函数执行代码。
    点击 Debugger -> Step Over 或者是 F11,我们可以一行一行执行代码。
    点击 Debugger -> Step Out 或者是 Shift + F12,我们可以运行到下个断点处。

Debugger

我们甚至还可以点击红框处,进行更多调试项的使用。
5. 让我们来查看下一些临时变量的值。
这里有点不人性化的是,查看临时变量的值好像只能通过手动在 Watches窗体下的 Name栏目中输入此变量的值来查看,DrJava 则会自动计算它的值并显示出来。这里你们看到的 Wataches里面的变量都是我事先已经输入了的。通过这里,我们可以了解我们需要的变量的值的变化。

四、DrJava 小巧并且强大

怎么说呢,接触过的 IDE 不过,有 vs,有 code blocks,有 eclispe。

他们都是非常强大的集成开发环境,但是对于一个学生来说,太强大有时候也意味着太不适合新手。新手也许更需要一款,没有智能提示的,没有好看易用的界面的,能够让用户快捷、方便、自由的使用和编译自己的初学代码的这么一款 IDE。

那么恭喜你,DrJava 就是这么一款小巧而且强大的 IDE。

它的文本编辑器调成 Consolas - 14 的时候,还是比较好看的。虽然没有智能提示,甚至没有大括号自动匹配输入,但是也正是因为这些,才逼迫像我这样的初学者能够专心于自己输入的文字,专心于自己的代码逻辑,而不被其他的杂七杂八的东西所干扰。

通过自己的观察,DrJava 的调试功能用来学习 《算法 第 4 版》足足够了,只需要手动添加一些 jar 文件,其他的都完全够用了,甚至比一些强大的集成开发环境更适合学习。

其实我也正在寻找一款支持 C++11 的像这样的一款 IDE,小巧,而且适合刷 LeetCode 的,其实也正是因为在刷 LeetCode,反而不喜欢 vs 这样具有强大的提示功能的 IDE。刷了这么久,反而越来越喜欢 LeetCode 的在线代码编辑了哈哈。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值