rpg*_*711 5 java eclipse jvm classloader
我正在调试eclipse远程调试动态编译加载类时无法加载源代码的原因。我看到的论点-verbose:class是我的动态编译的类文件来自__JVM_DefineClass__. 我认为这意味着它们来自 JVM 堆空间本身,因为我让编译器将编译后的字节输出到“文件管理器”中,该文件管理器将编译后的字节缓存在内存中。
似乎调试时源代码可查看的唯一方法是,如果我在源代码查找路径中指定实际加载的类来自的位置...并且如果我指定该类所在的目录,则似乎不起作用正在编译类。我觉得如果我将编译的字节保存到磁盘,源加载可能会起作用。
那么,什么__JVM_DefineClass__意思呢?我的假设正确吗?
这意味着当 ClassLoader 调用 DefineClass 时,ProtectionDomain 中的 CodeSource 中未包含位置 URL。这可能是因为该类是动态生成的,但也可能是因为 ClassLoader 在定义该类时根本没有提供信息。
| 归档时间: |
|
| 查看次数: |
3371 次 |
| 最近记录: |