在控制台上调试java框架的方法

时间:2014-04-18 05:07:46

标签: java debugging console jdb

我是一名C ++开发人员,在Java技术领域工作了大约一年。原谅我的无知,但我试图寻找以下两个问题。 在java应用程序的控制台中调试的最佳方法是什么(ala gdb in good ol' C ++)。

  1. 看来jdb低于标准杆。
  2. Eclipse是IDE的发展方式。但Eclipse是一个GUI,我确实在unix服务器上的控制台中开发。 什么是驯服巨大的jave开源框架的最佳方法。例如,骆驼,冬眠,春天,后退,等等,等等。

3 个答案:

答案 0 :(得分:1)

我在控制台中进行了大部分调试。

我发现对于大多数错误,Java堆栈跟踪足以识别错误并开发修复程序。这当然意味着允许在控制台上看到堆栈跟踪至关重要。对于大多数应用程序,我发现最好允许未经检查的异常传播,直到它们终止线程,并在控制台中显示堆栈跟踪;未经检查的异常通常应指示编程错误或无法控制线程应该终止的无法控制的条件。

如果堆栈跟踪不充分,我发现在调试过程中使用System.out.println()实际上比使用交互式调试器更有效。拥有一个完整的运行日志对我来说比运行调试器更有用,我可以轻松地跨过一个后来证明是重要的问题。

答案 1 :(得分:0)

Wat是在eclipse IDE中设置项目的问题,您始终可以获取源代码并设置工作区吗?

使用sysout非常适合小型java程序,但是随着代码的增长或大型应用程序的增加(根据我的理解,您计划调试一些大的东西:P)将所有这些sysout放置然后删除它们真的很头疼完成调试。 我建议您通过选择IDE中的“导入工作区中的现有项目”选项来设置自己的工作区,虽然它会先累,但会长期帮助您。

答案 2 :(得分:0)

我想说没有必要使用这样的工具,因为Java支持远程调试 您需要在启用远程调试的情况下启动(服务器)JVM - 这适用于较新的JDK:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

之后,您可以从IDE连接到它,并在任何地方设置断点或条件断点。

See this question for more details

此外,这是个人偏好,但我认为IntelliJ IDEA是Java IDE的最佳选择。