`

jvm运行期打印汇编信息

    博客分类:
  • j2se
 
阅读更多

如果只在jvm参数中加入-XX:+PrintAssembly参数,运行报错:

Java代码  收藏代码
  1. Improperly specified VM option 'PrintAssembly'  
  2. Error: Could not create the Java Virtual Machine.  
  3. Error: A fatal exception has occurred. Program will exit.  

         同时加上-XX:+UnlockDiagnosticVMOptions则可以打印编译信息,并且这个参数必须放在PrintAssembly前面才行。不过MacOSX上加了之后又遇到了新的错误:

Java代码  收藏代码
  1. VM warning: PrintAssembly is enabled; turning on DebugNonSafepoints to gain additional output  
  2. Could not load hsdis-amd64.dylib; library not loadable; PrintAssembly is disabled  

         按照这里下载hsdis-am64.dylib,放到你自己的目录下,如/xxx/yyy/zzz/,并chmod 设置当前用户可执行,然后在~/.bash_profile加上一行:

Java代码  收藏代码
  1. #这里只能设置到目录一级,不能设置到dylib文件  
  2. export LD_LIBRARY_PATH=/xxx/yyy/zzz/  

         注销重新登陆,重新运行程序,汇编信息就打印出来了。

        enjoy it!

 

http://yueyemaitian.iteye.com/blog/2042772

分享到:
评论

相关推荐

    Java 虚拟机.pdf

    6. 运行时常量池:是方法区的一部分,包含编译期生成的常量和符号引用,也支持运行时动态生成常量(如String的intern()方法)。 二、垃圾收集 垃圾收集主要关注堆和方法区。程序计数器、虚拟机栈和本地方法栈由于...

    jdk宝典

    3. 注解实践:编写带有注解的类或方法,自定义注解处理器,实现编译期或运行期的逻辑。 4. 自动装箱/拆箱:通过实例演示基本类型与包装类型的自动转换,比较手工转换和自动转换的差异。 5. 可变参数应用:编写函数...

    Java虚拟机

    第11章 晚期(运行期)优化 11.1 概述 11.2 HotSpot虚拟机内的即时编译器 11.2.1 解释器与编译器 11.2.2 编译对象与触发条件 11.2.3 编译过程 11.2.4 查看及分析即时编译结果 11.3 编译优化技术 11.3.1 ...

    _JavaSE内部学习笔记

    Java程序被编译成字节码后,可以在任何安装了JVM的平台上运行,实现了“一次编写,到处运行”。 - **1.4 Java语言环境搭建** - **JDK、JRE与JVM关系**:JDK(Java Development Kit)是Java开发工具包,包含了编译...

    编程语言发展史:Java语言的出现和发展

    * 跨平台性:Java语言的编译器将源代码编译成字节码,可以在任何支持Java虚拟机(JVM)的平台上运行,实现了跨平台性。 * 面向对象:Java语言是一种纯面向对象的编程语言,支持封装、继承和多态等面向对象特性。 * ...

    编程新手真言绝对实用

    6. **.NET与JVM**:这两个平台分别支持.NET Framework和Java应用程序的运行,它们提供了各自独特的特性和优势。 7. **语言功能上的差别**:不同的编程语言提供了不同的特性和功能,如垃圾回收、类型检查等。 8. **...

Global site tag (gtag.js) - Google Analytics