debugging - 调试有帮助吗?

标签 debugging

我已经编程了大约 5 个月了。我从 C++ 开始,然后是 C,最后是 Java。这段时间我从未在编译器上使用过调试功能,也不知道它的作用。到目前为止,在类里面我还没有学到任何有关调试器的知识(虽然类(class)刚刚开始使用 C,但我自己学习了 C++ 和 Java)。什么是调试,它有什么作用以及您经常使用它吗?调试有什么用?我用谷歌搜索过调试,但不太明白。谁能正确解释调试功能?据我目前的了解,这是一个帮助您发现错误的功能,但我不太明白它是如何工作的。

最佳答案

调试本身就是发现和消除错误的过程,仅此而已。因此,除非您是一个从不犯任何错误的完美程序员,否则您已经完成了。

另一方面,调试器是一种辅助调试的工具。您仍然可以在没有调试器的情况下进行调试,但是使用调试器可以为您提供更多选项和实现方法。

如果您没有具体提及您正在谈论的调试器(Visual Studio one,或 gdb,或...),我们无法真正告诉您如何使用它,但是,简而言之:

调试器可以让您一次执行一条指令或一次一行。它可以让您运行代码,直到到达您感兴趣的位置,然后停止。当代码停止时,您可以检查变量的值以确保一切正常,在某些情况下甚至可以修改运行时的内容以测试各种场景。

不使用调试器进行调试的一些技术是:

  • 打印插入,您可以在代码中添加打印命令,以便您在代码运行时跟踪代码的状态,
  • 代码阅读,阅读代码并尝试找出您的意图与实际编写的内容不同的地方
  • 杯子对话,您尝试向您的 friend (或杯子或办公 table 上的企鹅娃娃)解释您的代码,并在此过程中查看您的逻辑哪里出了问题
  • 二进制剪切搜索,一次删除代码块并查看错误是否仍然存在

还有更多。

关于debugging - 调试有帮助吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8669569/

相关文章:

适用于 Centos 的 Azure 快照调试器

c++ - 在结构 vector 的监 window 口中显示特定变量

c++ - 在 Visual Studio 2008 中使用 _DEBUG 预处理器定义 - C++

javascript - 通过Firebug分析DOM事件:hover

ruby-on-rails - 如何在 Rails 中显示所有要求的翻译字符串?

php - 如何在 PHP 中获取有用的错误消息?

java - 在java中使用正则表达式从字符串中提取数字

javascript - IE中的脚本调试

c++ - 如何将 peek 函数添加到我的堆类中?

php - PHP解析/语法错误;以及如何解决它们