Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.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 类URLClassPath中的MyEclipse隐式断点处于调试模式_Java_Eclipse - Fatal编程技术网

Java 类URLClassPath中的MyEclipse隐式断点处于调试模式

Java 类URLClassPath中的MyEclipse隐式断点处于调试模式,java,eclipse,Java,Eclipse,我是MyEclipse想法的初学者。我正在使用它的8.6.1版本。我的问题是:当我在调试模式下执行我的程序时,MyEclipse转到sun.misc.urlclaspathclass,我必须恢复断点(按F8键)并继续执行我的程序MyEclipse停留在以下线程堆栈中的URLClassPath类中: 1. URLClassPath$JarLoader.<init>(URL, URLStreamHandler, HashMap) line: 581 2. URLClassPath$J

我是MyEclipse想法的初学者。我正在使用它的
8.6.1
版本。我的问题是:当我在调试模式下执行我的程序时,
MyEclipse
转到
sun.misc.urlclaspath
class,我必须
恢复
断点(按
F8
键)并继续执行我的程序
MyEclipse
停留在以下线程堆栈中的
URLClassPath
类中:

1. URLClassPath$JarLoader.<init>(URL, URLStreamHandler, HashMap) line: 581  
2. URLClassPath$JarLoader.ensureOpen() line: 631    
3. URLClassPath$JarLoader.getJarFile(URL) line: 641 
4. URLClassPath$JarLoader.ensureOpen() line: 631    
1。URLClassPath$JarLoader.(URL,URLStreamHandler,HashMap)行:581
2.URLClassPath$JarLoader.ensureOpen()行:631
3.URLClassPath$JarLoader.getJarFile(URL)行:641
4.URLClassPath$JarLoader.ensureOpen()行:631
注意:当一些
jar
文件存在于我的项目
Build Path
中时,会发生此事件,但当我的应用程序很简单时,不会出现此问题,并且第一个断点就是我的第一个断点


为什么会发生此事件?

中断的唯一原因是遇到断点。MyEclipse(或eclipse)本身不添加任何断点。我建议您再次调试应用程序,当它在sun.misc.URLClassPath中中断时,转到调试透视图中的断点选项卡,检查您设置的所有断点。如果双击每个断点,它会将您带到相关的源文件。希望您能够了解断点是如何到达那里的,但要删除断点,请右键单击断点并选择“删除”


另外,请注意,默认情况下,eclipse将在未捕获异常时中断(尽管看起来这不是您的问题)。这可以通过转到调试首选项窗口->Java->调试来更改。

我已经复制了错误,无法调试应用程序。我发现解决这个问题的唯一方法是:转到“窗口->首选项->Java->调试”并禁用“暂停执行未捕获的异常”

现在可以调试应用程序,调试器将在用户断点处停止

解决方案: 处于调试状态,只需在预期调试中搜索窗口断点>
然后取消选中[捕获位置]选项。

您是说调试透视图中的断点选项卡中没有断点吗?堆栈跟踪上方的直线是什么?它有暂停的原因,会说类似“Thread[main](暂停(断点在Blah中的第581行))。是的,在
断点选项卡中不存在任何行。我在原始问题中编写了调试跟踪,但显示了以下内容:
Thread[main](挂起(异常文件NotFoundException))URLClassPath$JarLoader.getJarFile(URL)行:641 URLClassPath$JarLoader.access$600(URLClassPath$JarLoader,URL)行:538 URLClassPath$JarLoader$1.run()行:605 AccessController.doPrivileged(PrivilegedExceptionAction)行:不可用[本机方法]URLClassPath$JarLoader.ensureOpen()
因此,由于异常(FileNotFoundException),它正在中断。这是eclipse的默认行为,正如我在回答的末尾所提到的。起初我认为这不是您的问题,但现在您已经显示了完整的调试器输出,这肯定是导致您的程序挂起的原因。我猜可能有一个jar文件找不到,但这应该允许您跟踪它。y我们的意思是:存在对jar文件的引用,但引用的jar文件不在类路径中?我假设,因为在方法getJarFile中引发了FileNotFoundException。请尝试单击run按钮在控制台上获取异常堆栈跟踪,这可能会给您提供更多信息。除此之外,我真的无法提供更多的帮助调试器停止的ason是明确的-抛出了一个未处理的异常-但我无法帮助您跟踪异常的原因。如果您不希望调试器在未处理的异常上停止,您可以按照我的回答中的指示更改设置,但在本例中,几乎可以肯定应用程序会因异常而停止。greate回答,谢谢。+2如果我能给出。太好了!你把我从这种恼人的行为中解救出来了,我过去一直点击F8:-(我遇到了同样的问题。原因似乎在于jar名称。最初的jar eclipse应该打开的是“gwt-servlet-2.1.0.jar”,在堆栈框架中它不知何故变成了“gwt servlet.jar”,因此无法找到。