如何从Sublime Text编辑器调试Java应用程序

8
有时候我需要对一个相当庞大的Java应用程序进行简单的修复,但又不想打开Eclipse。Eclipse启动很慢,而且由于项目由大量子项目构建而成,这些子项目都是通过Maven构建的,因此在Eclipse可用之前需要很长时间 (至少按照急躁的Java开发人员的标准来说是很长的)。
几乎我所有需要的东西都可以在Sublime Text编辑器中完成,但是Eclipse最擅长的地方是调试。我的工作流程是:先进行修复,然后使用调试器在服务器上运行应用程序(检查一切是否正常)。
那么,有没有Sublime插件或其他非IDE解决方案可以轻松调试Java应用程序呢?
注:我看过这篇文章——它相当老了,也许有更好的方法。
2个回答

2

你可以寻找一个独立的Java调试器,例如JDebugTool

或者你可以简单地创建另一个Eclipse工作区,只包含你需要用于远程调试应用程序的最少必要项目(仅一个项目,其中包含所有链接的源文件)。 这个工作区比完整版启动速度要快得多。

我从未使用过Java的独立调试器,个人倾向于尽可能减少需要学习的工具数量,而Eclipse的调试器非常好。


链接现在已经失效。 - aydinugur

0
JDebug - Sublime Text 的 Java 调试插件 调试是一门痛苦的艺术,程序员们都知道这一点。即使代码完美无缺,有时也会出现问题,仅通过日志语句很难确定引起问题的代码片段。因此,唯一可能确定问题的方法是动态地逐步调试代码。Java 有许多调试工具可用,有些是独立的,有些则集成在 IDE 中,如 Eclipse。本文将向您展示如何使用 Sublime Text 中的 JDebug 远程调试 Java 代码。
设置 Sublime Text JDebug 插件可以使用 Package Control 或手动安装。我将向您展示如何使用 Package Control 安装 JDebug 插件。如果您还没有安装 Package Control,则可以通过安装 package control 来安装软件包。 安装了 package control 后,您应该启动 Sublime Text。从“首选项”->“Package Control”菜单中打开命令面板,并搜索“安装软件包”。
现在,您可以搜索任何您喜欢的软件包。在我们的情况下,我们将搜索软件包“JDebug”。

在调试模式下设置应用服务器(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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接