我正在开发一个多线程网络服务器小程序,并且在过去一周左右一直在处理 system.out.println 作为我的“调试”工具。据我了解,我构建的 .jar 由构建器分割并放入 .html 文件中,然后在访问 Web 服务器时吐出。
我想知道是否有某种方法可以将调试器(插件?)附加到 Java 虚拟机,这样我就可以在操作网络服务器时逐步执行代码 - 有一些关键的异常,例如追踪起来非常令人沮丧。我相信它们是与多线程相关的计时问题,这使得它们在尝试定位时更加不可靠,并且可能意味着调试器无法正确处理。我认为这并不重要,但我构建的 IDE 是 Netbeans。
我接手了一位前开发人员仓促但尚未完全完成的项目,现在的情况超出了我的能力范围。 =/提前感谢任何可能的解决方案,我很感激。
最佳答案
当然可以。
您需要使用合适的参数启动 Web 服务器 JVM,以便对其进行远程调试。您可以在http://download.oracle.com/javase/1.3/docs/tooldocs/win32/jdb.html查看怎么做。 jdb 与 javac 一起在 JDK 中可用。然后启动 IDE 调试器连接到 JVM 并告诉它类的源代码所在的位置。请记住使用调试信息进行编译。
由于您已将其内置于 Netbeans 中,因此请考虑在 Debug模式下启动它,这样上述所有额外工作都会自动为您完成。
关于java - 在 JAVA 中调试多线程 Web 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6866126/