从 eclipse 中调试其他应用程序正在使用的 jar
Debug a jar that is being used by other application from eclipse
我有一个必须从 shell 脚本启动的 Java 应用程序。这个应用程序使用了一个我想从 eclipse 修改和调试的 jar 库。我试过了,但失败了。
我试过的
我已经编译我的库来生成 jar。在应用程序查找提到的 jar 的文件夹中,我重命名了原来的 jar 并创建了一个 symbolik link 我的。
然后,从 eclipse 中,我完成了以下操作:
- 右键单击我的罐子
project > debug as > debug configurations
。
- Select
Remote java Application
和 Connection Type = Standard (Socket listen)
此时,我可以在右下角看到一个标签,上面写着:"Waiting to vm to connect"
。
接下来我转到应用程序的主文件夹并执行启动器脚本。
我确定应用程序正在使用修改后的库,因为我添加了一个 System.out.printlin("...")
并且我可以在控制台中看到它。尽管如此,在 eclipse 中调试模式并没有被激活,应用程序也没有被暂停。
注意:我已经用make编译了proyect。
对于远程调试,用于运行 应用程序的 JVM 必须是 configured to run in debug mode。因此,您需要在启动应用程序的脚本中包含这些选项。
话虽如此,shell 脚本有什么特别之处,以至于它无法转换为 运行 配置以直接从 Eclipse 启动?
我有一个必须从 shell 脚本启动的 Java 应用程序。这个应用程序使用了一个我想从 eclipse 修改和调试的 jar 库。我试过了,但失败了。
我试过的
我已经编译我的库来生成 jar。在应用程序查找提到的 jar 的文件夹中,我重命名了原来的 jar 并创建了一个 symbolik link 我的。
然后,从 eclipse 中,我完成了以下操作:
- 右键单击我的罐子
project > debug as > debug configurations
。 - Select
Remote java Application
和Connection Type = Standard (Socket listen)
此时,我可以在右下角看到一个标签,上面写着:"Waiting to vm to connect"
。
接下来我转到应用程序的主文件夹并执行启动器脚本。
我确定应用程序正在使用修改后的库,因为我添加了一个 System.out.printlin("...")
并且我可以在控制台中看到它。尽管如此,在 eclipse 中调试模式并没有被激活,应用程序也没有被暂停。
注意:我已经用make编译了proyect。
对于远程调试,用于运行 应用程序的 JVM 必须是 configured to run in debug mode。因此,您需要在启动应用程序的脚本中包含这些选项。
话虽如此,shell 脚本有什么特别之处,以至于它无法转换为 运行 配置以直接从 Eclipse 启动?