- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 JDI 调试另一个正在运行的 java 应用程序。
我所做的有效:
使用 Eclipse 运行两个应用程序。调试器使用以下 VM 选项启动:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000
另一个应用程序连接到端口 4000 处的套接字,并遵循正常过程(断点等)来获取局部变量的值。
工作正常并给我带来了值(value)。
我现在想做的事情:
我没有使用 Eclipse 启动两个进程,而是在 Eclipse 中启动一个进程,并且该 Process
使用 ProcessBuilder
使用以下参数启动另一个进程:
String[] args1 = {getJavaDir(),"-cp",classpath,"-Xdebug", "-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000", "processII.Main2"};
ProcessBuilder builder = new ProcessBuilder(args1);
builder.directory(directory);
Process process = builder.start();
进程成功启动。但是,当我尝试通过第一个进程访问它时,出现以下错误:
com.sun.jdi.connect.IllegalConnectorArgumentsException: Argument invalid
在网上查了一下,关于异常是什么的信息很少。
如果您能帮助我找出问题所在,我将不胜感激!
最佳答案
当调试 JVM 的连接器参数出现错误时,会抛出此异常。我认为您的调试参数必须一起放在同一个参数中,而不是两个单独的参数(将 -Xdebug
与 -Xrunjdwp...
放在同一个参数上),尝试使用:
String[] args1 = {getJavaDir(),"-cp",classpath,"-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=4000", "processII.Main2"};
ProcessBuilder builder = new ProcessBuilder(args1);
builder.directory(directory);
Process process = builder.start();
希望这有帮助,
关于java - JDI - IllegalConnectorArgumentsException : Argument invalid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24177068/
我正在使用 JDI 调试另一个正在运行的 java 应用程序。 我所做的有效: 使用 Eclipse 运行两个应用程序。调试器使用以下 VM 选项启动: -Xdebug -Xrunjdwp:trans
我是第一次尝试使用 Javassist,但我被卡住了。我在运行时创建类,如果有任何新字段出现,我想在运行时更改该类。我的代码如下 public static Class generate(String
我是一名优秀的程序员,十分优秀!