当前位置: 首页 > 面试题库 >

调试时如何处理ClassNotLoadedException?

仲孙阳
2023-03-14
问题内容

因此,我(远程)在Eclipse中调试Java /
jboss应用程序,一步一步地进行。一方面,通过方法调用创建GridSquare对象数组(GridSquare是一个非常简单的独立类,包含一些属性和方法),即:

GridSquare[] squares = this.theGrid.getSquares(14, 18, 220, 222);

…虽然我实际上执行代码时,squares数组中确实填充了GridSquare对象,但是在单步执行代码并进行调试时,我会感到有些奇怪。在紧接上述分配之后的行的断点处,如果我尝试查看squares数组,而不是值,则会得到以下信息:

org.eclipse.debug.core.DebugException: com.sun.jdi.ClassNotLoadedException: Type has not been loaded occurred while retrieving component type of array.

…谁知道这是怎么回事?


问题答案:

基本上,这意味着类加载器尚未加载GridSquare
[]类。话虽如此,这听起来像是调试器中的一个错误。断点与代码的关联似乎已被破坏。您需要重新编译以使行号同步,或者发生其他问题。此时,在代码中(分配之后)需要将其加载。除非getSquares实际上返回一个子类(GridSquareSubclass
[]),否则JVM可能尚未加载该子类,因为它尚不需要(尚未)。



 类似资料:
  • 我有一个基于strut的应用程序,我在其中调用我的Restful Web Service。我的实际服务调用如下所示: 呼叫通过只是罚款,但我想处理的情况下,如果我的服务是关闭,我想超时1分钟,而不是等待这么长时间。

  • 主要内容:错误消息,复杂的命令行,子程序,Windows版本通常情况下,运行批处理文件时可能会遇到问题,而且大多数情况下都需要以某种方式调试批处理文件,以确定是批处理文件本身的问题。 以下是一些可以帮助调试批处理脚本文件的技术。 错误消息 要找出消息的来源,请按照下列步骤操作 - 第1步 - 移除,即或。 第2步 - 使用必要的命令行参数运行批处理文件,将所有输出重定向到日志文件以供以后比较。 第3步 - 在文件中搜索错误消息 第4步 - 检查上一行是否有

  • 我在编译使用我的注释处理器的代码时收到以下错误: 关于如何调试这个有什么提示吗?错误输出根本没有用处。有没有办法得到更详细的错误?

  • 我们经常会看到很多程序员大部分的"编程"时间都花费在检查bug和修复bug上。无论你是在编写修改代码还是重构系统,几乎都是花费大量的时间在进行故障排除和测试,外界都觉得我们程序员是设计师,能够把一个系统从无做到有,是一项很伟大的工作,而且是相当有趣的工作,但事实上我们每天都是徘徊在排错、调试、测试之间。当然如果你有良好的习惯和技术方案来直面这些问题,那么你就有可能将排错时间减到最少,而尽可能的将时

  • 我无法在使用JPA的Spring启动应用程序中记录Spring批处理日志。这是属性文件配置(application.properties)。我想看看应用程序是否从日志中创建了Spring批处理表。 https://github.com/spring-projects/spring-batch/blob/master/spring-batch-core/src/main/resources/org/

  • 如何使用Idea和Gradle调试KSP? 在调试模式下从IDE运行任务不会将IDE附加到进程。 有没有任何命令行方法让处理器等待IDE附加到进程? (我使用的是KSP)