Kotlin 字节码 - 如何在 IntelliJ IDEA 中分析?

Posted

技术标签:

【中文标题】Kotlin 字节码 - 如何在 IntelliJ IDEA 中分析?【英文标题】:Kotlin Bytecode - How to analyze in IntelliJ IDEA? 【发布时间】:2016-06-02 23:00:58 【问题描述】:

我想查看编译后的字节码,以便详细了解它的工作原理。我正在使用 IntelliJ IDEA 15,但找不到查看字节码的方法。我错过了什么?

【问题讨论】:

【参考方案1】:

IntelliJ IDEA 自带 Kotlin 字节码查看工具:

工具 → Kotlin → 显示 Kotlin 字节码

也可以通过 Ctrl / ⌘+Shift+A 作为 Show Kotlin Bytecode 操作使用。

它是一个很棒的工具,当你在源文件中移动时可以跳转到相应的字节码。每当源发生变化时,它都会即时更新字节码。


另外,我想推荐jclasslib Bytecode Viewer 作为低级类文件分析(例如检查常量池)的外部工具。现在它也可以作为IntelliJ IDEA plugin 使用。

【讨论】:

@CaseyB 和快捷方式ctrl+shift+a(windows 和 linux)或shift-command-a(mac)非常有用。按此快捷方式,然后输入kotlin!【参考方案2】:

只是添加到上面的答案。

工具 → Kotlin → 显示 Kotlin 字节码

现在,在字节码视图中,还有一个选项可以将字节码反编译为 Java。因此,您实际上可以在 intellij 中看到字节码和等效的 java 代码。您甚至可以选择使用 JVM 8 目标进行转换。

【讨论】:

【参考方案3】:

我使用https://javap.yawk.at/在线查看字节码。将“Kotlin”设置为输入语言,一切顺利。

它甚至可以选择通过 Procyon 查看反编译的 Java 代码,但它可能会不时崩溃。

【讨论】:

以上是关于Kotlin 字节码 - 如何在 IntelliJ IDEA 中分析?的主要内容,如果未能解决你的问题,请参考以下文章

如何查看或解码 .kotlin_module

如何将 Gradle 项目中 Kotlin 的字节码版本设置为 Java 8?

IntelliJ 中的目标字节码总是回落到 1.5

1Kotlin语言与开发环境

IntelliJ IDEA代码编码区提示库源不匹配字节码解决办法

KotlinKotlin 变量与常量 ( 变量声明 | 只读变量 | 类型推断 | 编译时常量 | Kotlin 字节码查看面板 | Kotlin 引用数据类型 )