如何在大型软件系统中进行调试?

时间:2018-03-27 23:30:19

标签: java intellij-idea

使用调试器并不是使用我的组件和依赖项在大型软件系统中进行调试的有效方法。大多数人使用记录器将关键或信息性消息记录到日志文件中。真的吗?有关如何调试大型软件的任何建议吗?

我正在使用IntelliJ或Eclipse。

2 个答案:

答案 0 :(得分:1)

直接进行Debbugging始终是在您的软件中发现错误的最有效(也是最快)的方法......问题是:您不能总是使用它。想象一下一个生产环境,几乎肯定你没有资助,也没有可能停止你的软件进行调试。但是,您始终可以在文件系统或数据库表中登录有关软件执行和可能错误的重要信息。我的建议是,将您的软件放在一个可以直接(或远程)调试它的环境中,同时添加有意义的日志也可以加快解决问题的速度。

答案 1 :(得分:0)

这取决于要调试的软件,但通常,调试器是一个非常强大的工具。您只需要知道bug最有可能隐藏在哪里。您不希望在main方法的第一行设置断点,这就是为什么它可能有助于问自己以下问题:

  • 该错误很可能是一个GUI错误(看起来很奇怪的视图)还是可能是后端错误?
  • 程序的哪个模块/依赖/部分负责发生故障的任务?
  • 如果您有可用的日志,它们是否包含任何堆栈跟踪?
  • 它还可以帮助复制日志消息并在代码库中搜索它以查看日志消息的发布位置。

但是,一旦你大致知道在哪里寻找有缺陷的代码,它就归结为使用调试器:将你的断点设置在你认为错误的位置,启动调试器并开始破解。同样,您不想调试整个程序,但一旦找到了痛点,调试器就是一个非常强大的工具。