所以我(远程)调试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可能没有加载它,因为它还不需要它(尚未).