如何调试或缩小逻辑错误?

时间:2016-12-06 23:17:39

标签: javascript processing

我正在尝试调试我正在制作的游戏。 for循环有问题,我不知道它是什么;本质上,我想在用户点击准备好后让我的矩形在画布上生成。有哪些方法可以调试逻辑错误?在khanacademy这样做。

当我打印drawRects函数时。控制台说无限循环并指向我的for循环。 snippet1

当我点击准备好时,控制台每次增加1,所以我知道levelUp功能正常工作。

snippet2

我无法发布另一个链接,因为没有足够的代表,但是当我打印randomRects时,控制台上没有任何内容。

因此,我认为可以安全地假设我的for循环有问题,因为levelUp函数可以正常工作但是随机矩形没有出现。我可以使用哪些其他调试技术来缩小问题范围?

1 个答案:

答案 0 :(得分:1)

通过查找代码正在执行的操作来调试问题。

有几种方法可以做到:

用你的头。这是你的第一道防线。贯穿你脑海中的代码,或者更好地用一张纸和一支铅笔。为输入使用一些示例值,并逐行浏览并查看代码将执行的操作。大声说话,写下来,然后一遍又一遍地做。这是程序员的重要组成部分。

使用控制台。处理具有println()功能,该功能应转到浏览器中的JavaScript控制台。这是你最好的朋友。打印出您想知道的任何变量的值,如下所示:

println("x: " + x);

println("here")语句中的简单if可以告诉您if语句正在执行。将其与方法一结合起来,真正检查所有假设。

使用调试器。如果所有其他方法都失败了,请使用调试器逐步执行代码。这基本上是使用计算机来完成前两种方法。

实际上,您将使用上述所有内容的组合来调试问题。但基本思想是这样的:你需要了解你的代码在做什么。你可以先通过头脑中的代码或纸张上的代码进行操作,然后通过打印出来测试任何假设或任何你不确定的东西。