在Eclipse中,如果您在“调试”下运行一个程序,您可以对代码进行更改,大多数时候它会立即生效。但有时它不会——在这种情况下,它会弹出一条消息,或者在“调试”Pane中的线程旁边显示“(可能不同步)”。什么决定了可以热插拔的更改类型?我注意到这些更改通常会失败:引入新的匿名内部类在实例化类时更改类(重命名/添加/删除字段和方法)添加try-catchblock但有时它似乎几乎是随机的。判断代码是否可以替换的逻辑是什么? 最佳答案 方法语句(过程代码)有效。与添加、删除或更改类模式相关的所有内容都不起作用。因此无需修改继承、字段、提
我在Eclipse中调试Hashtable时发现了一些奇怪的东西。我的Hashtable变量名称是“my_hashTable”,Eclipse调试器,如果我点击它,它显示它的值是三个:{first=0,third=2,second=1},这是正确的,计数是3,这也是正确的。但是,如果我在my_hashTable变量中单击“table”变量,它会显示只有两个非空值,[4]=2和[5]=0。其完整值如下:[null,null,null,null,third=2,first=0,null]为什么会这样?“second=1”对在哪里?这是我第一次在Eclipse中遇到这种奇怪的现象。知道发生了
我的Java程序是否可以在Debug模式下启动第二个JVM(通过ProcessBuilder,例如运行javaw.exe),以便它出现在Eclipse的调试窗口中?如果是,怎么做到的? 最佳答案 一种实现您(可能)想要的东西的可能方法:启用第二个jvm进行远程调试。据我所知,您可以告诉jvm等待,直到远程调试器挂接到session。然后,在生成“子jvm”之后,在eclipse中启动远程调试session。ThisisthesetofparametersforaclassicVM:java-Xdebug-Xnoagent-Djava
有没有一种方法可以在程序到达断点时停止调试(即我不想执行它之后的代码)而不停止整个应用程序服务器(我正在用Java编写应用程序,服务器是JBoss)?我只知道一种停止调试的方法-标题为Terminate的红色按钮会关闭服务器。那么还有其他的吗? 最佳答案 调试时,contextmenu给你强制返回。这会立即离开该方法并将您带回调用者。也可以使用Alt+Shift+F。 关于java-在Eclipse中调试时停止代码执行而不终止线程,我们在StackOverflow上找到一个类似的问题:
我知道这是一个常见问题,但从昨天开始我就一直在网上搜索我的问题的解决方案,但一直找不到!我将EclipseHelios与Tomcat6.0.2一起使用,每当我尝试使用tomcat和eclipse调试我的代码时,我都会收到错误Sourcenotfound,即使是我自己编写的代码,而不仅仅是所有的jar文件我正确设置了java构建路径,我也在使用jdk1.6.0并且也正确设置了这个,所以这不是问题,如果我右键单击它,它会在我调试时显示代码调试控制台并转到EditSourceLookup...。因为这将只显示调试器运行的源代码,所以我进入Run->DebugConfigurations并在J
是否可以在Java中进行事后(或异常后)调试session?解决方法是什么(如果还没有解决方案)? 最佳答案 您可以将调试器附加到java进程并在特定的时候设置断点收到异常。这是您需要的吗?来自http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/jdb.htmlWhenanexceptionoccursforwhichthereisn'tacatchstatementanywhereupaJavaprogram'sstack,theJavaruntimenormallydumps
我有一个编译了源代码的可执行jar,我想使用jdb调试它(不幸的是,在这个环境中没有其他可用的调试器)。我可以调试它jdb-classpath"${JAR_FILE}:${CLASS_PATH}"${MAIN_CLASS}${ARGS}如何让jdb使用内置在jar文件中的源代码?注释:Java6、AIX、ksh 最佳答案 如果jdb忽略sourcepath的*.jar和*.zip条目,也许您可以创建一个批处理文件以将源从目标jar扩展到临时目录并指向sourcepath到那个。像这样MYDEBUGDIR=/temp/source
当我开始调试一个Java项目时,Eclipse不断地在3rd方库中出现随机异常,这很烦人。知道如何阻止它吗?我尝试单击“断点”View上的(!)图标,我可以看到“在捕获到异常时暂停”和“在未捕获到异常时暂停”复选框均未选中。Eclipse仍然会在异常时中断。虽然我不确定我是否正确使用了这个窗口,但我是要一个一个地选择异常(exception)吗?或者有没有办法指定所有异常(exception)情况? 最佳答案 我在Eclipse停止未捕获异常时遇到了类似的问题,并通过转到窗口-首选项-Java-调试并取消选中“在未捕获的异常时暂停执
这段代码有一个奇怪的问题:classTest{privatestaticbooleantest=false;publicstaticvoidmain(String[]args){newThread(()->{while(true){if(test){System.out.println("Printwhenbreakpointhere!");test=false;}}},"Thread1").start();newThread(()->{while(true){System.out.println("Printalways");try{Thread.sleep(2000);}catch
我正在努力理解this通过运行test来实现功能性ReactiveJava库在Debug模式下调用testSendStream并在测试执行时单步执行代码。上面的快照显示有一个名为this$0的奇怪命名的变量。这个名字从何而来?这个名字是什么意思?为什么这个变量有这个名字?给它起这个名字的原因是什么?这个名字肯定不是代码本身来的,是IntelliJ或者javac/java生成的。但是为什么?如果我用标签MysteryObject标记这个对象,看看会发生什么也很有趣。 最佳答案 this$0是Inner类(非静态嵌套类)中的“隐藏字段”