在安装了ASM Bytecode插件的IntelliJ中,您可以在查看类文件时在弹出菜单中选择“显示字节码大纲”。最近我的IntelliJ(社区版12.1.6)开始显示:
// couldn't generate bytecode view, no .class file found
在ASM窗口中。
这发生在我项目中不同模块的各种类文件中。奇怪的是,我会在一堂课上得到这个信息;但同一模块和包中的另一个类工作正常。
整个项目编译得很好,我的所有测试都会运行。我无法弄清楚为什么我会为一个课而不是另一个课获得此信息。
答案 0 :(得分:0)
移动到IDEA 12之后我遇到了同样的问题,但是在升级到版本13之后,实际上能够查看字节代码轮廓的“正命中率”再次变得更加稳定。但是,结果仍然相当不满意。从日志中,我了解到插件似乎无法找到引用的类文件,即使它们存在。在尝试查看文件之前,它有助于制作项目,但这也不是一个完美的解决方案。我猜,问题会一直存在,直到有人惹恼了(也许你?)升级插件。
我现在使用的只是来自IntelliJ IDEA的 javap 。您可以通过执行以下操作添加外部工具:
现在,您可以在源代码视图的右键菜单中使用javap,还可以为命令定义快捷方式。
答案 1 :(得分:0)
根据Andrey Breslav的评论,对此问题的正确解决方法是在“视图”菜单中使用“显示字节码”命令。必须打开源文件才能显示此命令。自上次更改命令后,您必须已编译源以使命令成功完成。