因此,我(远程)在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可能尚未加载该子类,因为它不需要(尚未)。

07-27 18:21