每次我在 Hotspot 中使用 -XX:+PrintAssembly
时都让我很烦,而且不得不阅读可怕的 AT&T 语法。
有没有办法告诉它使用 Intel 语法?
最佳答案
您只需将一些选项解析到 dis-asm.h 和 binutils 代码中
对于 intel Asm(我也更喜欢)只需添加以下内容
-XX:PrintAssemblyOptions=intel
如果您需要组合选项,请像这样使用逗号
-XX:PrintAssemblyOptions=intel,hsdis-help
任何不被识别为 hsdis 选项的东西都将被提供给反汇编器,这些选项与您在
中看到的列表相同objdump --help
... <SNIP A lot of --help text %<> ...
The following i386/x86-64 specific disassembler options are supported for use
with the -M switch (multiple options should be separated by commas):
x86-64 Disassemble in 64bit mode
i386 Disassemble in 32bit mode
i8086 Disassemble in 16bit mode
att Display instruction in AT&T syntax
intel Display instruction in Intel syntax
att-mnemonic
Display instruction in AT&T mnemonic
intel-mnemonic
Display instruction in Intel mnemonic
addr64 Assume 64bit address size
addr32 Assume 32bit address size
addr16 Assume 16bit address size
data32 Assume 32bit data size
data16 Assume 16bit data size
suffix Always display instruction suffix in AT&T syntax
Report bugs to <http://www.sourceware.org/bugzilla/>.
关于java - Hotspot7 hsdis PrintAssembly 英特尔语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9337670/