5

我已经开始实现一个简单的 Java 代理,它在 JVM 加载类之前执行一些检测。问题是我需要对此代理进行一些调试,但是到目前为止我尝试的方法都失败了(我尝试远程调试代理但它不起作用)

我使用 IntelliJ 和 Maven(生成 .jar 代理)。

所以我的问题是:远程调试一个简单的java代理有什么技巧吗?

4

2 回答 2

4

事实证明,我有一个演示 Java 检测的项目,我已经在 IntelliJ 中对其进行了调试测试。断点工作。您可以将其用作参考。

https://github.com/noahlz/weaver-demo

IntelliJ 的示例运行/调试配置

代理应用程序运行/调试

此外,如果您正在远程调试,premain 可能会在您附加到调试器之前执行。尝试在您传递给运行代理代码的 JVM 的调试命令中更改suspend=n为。suspend=y这样,它将等到您连接 IntelliJ 后再继续。

于 2013-04-19T20:01:10.040 回答
0

对于使用 VSCode 的人,我只是发现如果我使用集成终端,premain 中的断点对我有用,而如果我使用 internalConsole,它们就不起作用!!!

在此处输入图像描述

"java.debug.settings.console": "integratedTerminal"

于 2021-09-21T08:19:59.257 回答