Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java eclipse可以在一个项目中调试或运行两个程序吗_Java_Eclipse_Debugging - Fatal编程技术网

Java eclipse可以在一个项目中调试或运行两个程序吗

Java eclipse可以在一个项目中调试或运行两个程序吗,java,eclipse,debugging,Java,Eclipse,Debugging,eclipse调试可以在一个项目中运行两个程序吗?我的意思是我有两个带有publicstaticvoidmain()方法的程序。同时调试它们可以吗?我已经试过了。有两个显示控制台。调试窗口中有两个线程。您可以单击线程来决定要调试的程序。但是用这种方式运行或调试程序的结果似乎与单独运行或调试程序的结果不同?有没有人有类似的经历 是的,您可以在eclipse中同时运行和调试两个或多个java程序,而不会相互影响。事实上,您可以一次多次运行和调试同一个主方法,而不会出现问题。原因是每次单击run或de

eclipse调试可以在一个项目中运行两个程序吗?我的意思是我有两个带有
publicstaticvoidmain()
方法的程序。同时调试它们可以吗?我已经试过了。有两个显示控制台。调试窗口中有两个线程。您可以单击线程来决定要调试的程序。但是用这种方式运行或调试程序的结果似乎与单独运行或调试程序的结果不同?有没有人有类似的经历


是的,您可以在eclipse中同时运行和调试两个或多个java程序,而不会相互影响。事实上,您可以一次多次运行和调试同一个主方法,而不会出现问题。原因是每次单击run或debug时,都会创建一个新的jvm实例,并加载当前的类文件集。需要注意的是,如果两个程序都依赖于某些共享资源,它们可能会间接地相互影响。如果没有看到您的代码,很难说清楚为什么同时运行多个程序会得到不同的结果

我试图动态修改已经加载到jvm中的类。首先,运行目标程序并启动jvm(例如jvm1)。然后运行另一个程序将代理附加到jvm1,以修改jvm1中加载的类,并启动jvm2。无论如何,如果我在一个项目集中在eclipse中运行这两个程序,我将运行两次
retransformClasses()
,并在第二次调用时出错(
类重新定义失败
)。但如果我在windows命令窗口中运行目标程序,在eclipse中运行另一个。我什么都没有。应该没有区别。它们在我的区域之外使用相同的jre.Bit,但在调试模式下运行时,eclipse将使用-agentlib标志连接自己的调试代理。如果您从命令行运行程序,它显然不会这样做。这可能是你的问题的原因?如果您想查看eclipse运行程序时使用的确切java命令,请在windows中使用process explorer或在linux中使用类似的工具。然后,您可以将其与在命令行上运行的方式进行比较。您是指eclipse默认附加代理,即使我没有手动添加任何调试参数?如果使用调试模式,eclipse发出的javaw.exe命令将如下所示:“C:\Program Files\Java\jre7\bin\javaw.exe”-agentlib:jdwp=transport=dt_socket,suspend=y,地址=localhost:61428-Dfile.encoding=Cp1252-classpath。。。我假设eclipse随后将其调试器附加到该地址。