Java 在JVM中调试多线程Web服务器

Java 在JVM中调试多线程Web服务器,java,multithreading,jvm,webserver,Java,Multithreading,Jvm,Webserver,我正在开发一个多线程的webserver小程序,在过去一周左右的时间里,我一直在处理system.out.println作为我的“调试”工具。据我所知,我构建的.jar被一个构建器拆分成.html文件,然后在访问web服务器时吐出 我想知道是否有某种方法可以将调试器(插件?)附加到Java的虚拟机上,从而允许我在操作Web服务器时逐步完成代码-有一些非常令人沮丧的关键异常。我相信它们是与多线程相关的定时问题,这使得它们在尝试定位时更加不可靠,并且可能意味着调试器无法正确处理。我认为这无关紧要,但

我正在开发一个多线程的webserver小程序,在过去一周左右的时间里,我一直在处理system.out.println作为我的“调试”工具。据我所知,我构建的.jar被一个构建器拆分成.html文件,然后在访问web服务器时吐出

我想知道是否有某种方法可以将调试器(插件?)附加到Java的虚拟机上,从而允许我在操作Web服务器时逐步完成代码-有一些非常令人沮丧的关键异常。我相信它们是与多线程相关的定时问题,这使得它们在尝试定位时更加不可靠,并且可能意味着调试器无法正确处理。我认为这无关紧要,但我正在构建的IDE是Netbeans

我已经接手了前一个开发人员匆忙完成的项目,现在我的头脑已经完全崩溃了提前感谢您提供的任何可能的解决方案,我非常感谢。

当然可以

您需要使用合适的参数启动web服务器JVM,以便远程调试。你可以看看怎么做。jdb与javac一起在JDK中提供。然后启动IDE调试器以连接到JVM,并告诉它类的源代码所在的位置。记住使用调试信息进行编译


正如你在NETBeNes中已经考虑过的那样,只是在调试模式下启动它,然后上面所描述的所有额外的工作将自动完成。

什么是Web服务器小程序?Netbeans能够进行多线程调试。这是谷歌搜索关键词的第一个搜索结果:debug applet netbeans。我不确定您是想对服务器执行多线程调试,还是只是远程调试小程序。啊,多线程竞争条件。哦,真有趣。查看Java5+6中的并发UTIL,学习如何使用同步和瞬态。这可能非常有用。谢谢Vinet,但是这些步骤对我来说不起作用,因为我不确定如何在调试模式下启动Web服务器。由于某种原因,Java CP不接受我的运行时环境设置,我认为我需要以“-Xdebug”模式启动Web服务器。注释中由Vinet链接的调试器设置似乎不起作用。似乎是一个常见的问题,我没见过解决方案。看来我会试试你的长时间解决方案。谢谢。很抱歉给你一个潜在的肿块;您知道如何允许JVM从允许调试开始吗?我已经修改了JRE运行时参数,但出于某种原因它没有保存它们。在线搜索显示,这是其他人以前遇到过的问题,没有给出解决方案。如果您有任何进一步的想法,我很乐意尝试一下。从Netbeans内部?对不起,我不知道。也许你想明确地提出一个问题?