几乎我所有需要的东西都可以在Sublime Text编辑器中完成,但是Eclipse最擅长的地方是调试。我的工作流程是:先进行修复,然后使用调试器在服务器上运行应用程序(检查一切是否正常)。
那么,有没有Sublime插件或其他非IDE解决方案可以轻松调试Java应用程序呢?
注:我看过这篇文章——它相当老了,也许有更好的方法。
你可以寻找一个独立的Java调试器,例如JDebugTool。
或者你可以简单地创建另一个Eclipse工作区,只包含你需要用于远程调试应用程序的最少必要项目(仅一个项目,其中包含所有链接的源文件)。 这个工作区比完整版启动速度要快得多。
我从未使用过Java的独立调试器,个人倾向于尽可能减少需要学习的工具数量,而Eclipse的调试器非常好。
在调试模式下设置应用服务器(Weblogic/Tomcat/任何其他)
将-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000作为JVM参数传递给服务器启动命令。您可以将调试端口从8000更改为任何您喜欢的端口。
Tomcat
在catalina.bat或者catalina.sh中添加/更新JAVA_OPTS环境变量,设置JAVA_OPTS=%JAVA_OPTS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
Weblogic
在catalina.bat或者catalina.sh中添加/更新SAVE_JAVA_OPTIONS环境变量,设置SAVE_JAVA_OPTIONS=%JAVA_OPTIONS% -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
设置 JDebug 很简单,因为它只有几个设置项。您可以将默认设置复制并粘贴到用户设置中,并根据您的环境更新以下设置。
工作目录 - 您需要设置当前项目目录,如c:/workspace/TestService(Windows)或/home/user/abc/workspace/TestService(Linux或Ubuntu) 命令行 - 设置带参数的jdb命令。 如果JDK / bin不在您的环境路径中,则需要指定jdb命令的完整路径。 另外,请更改Java应用程序服务正在运行和侦听的主机名和端口。 源路径 - 项目中包含源文件的路径。 对于ant项目,通常为/src/,对于maven通常为/src/main/java。
断点准备就绪?断点是通知jvm在特定点(行号或类中的方法)停止执行的方式。 当执行停止时,可以查看应用程序变量。 使用上下文菜单中的“切换断点”菜单选项添加断点。 右键单击可访问上下文菜单。 添加断点时,圆形图标将放置在行号栏中
当jvm在执行过程中达到断点时,行号栏图标将更改为“指针”,以指示已触发断点。
检查变量 变量和表达式可以使用内联弹出窗口进行检查。 单击变量或突出显示要评估/检查的表达式。
观察表达式:可以使用“添加表达式”上下文菜单来评估表达式。您可以输入任何有效的表达式以进行评估。
输入表达式
JDebug变量:在“JDebug变量”窗口中观察变量非常有趣。如果一个变量是复杂对象,它将显示在边栏上带有“+”图标。这些变量可以通过“展开”上下文菜单进一步展开,以获取更多详细信息。“展开”上下文菜单仅在“JDebug”变量窗口中启用。
如何继续? 可以使用以下菜单选项之一继续应用程序执行: Step Over 将继续执行到下一行 Step Into 将继续执行进入方法调用 Step Out 退出当前方法并继续执行 Continue 继续到下一个断点或完成 enter image description here