`
Phoenix_MVP
  • 浏览: 340838 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

libjvm.so stripped

    博客分类:
  • JVM
阅读更多

1. libjvm.so stripped

  即:libjvm.so这个文件被处理过,很多符号调试信息被玻璃了。类似的apache等软件编译时也可以选择是否剥离调试信息。

 

剥离符号信息的意义在于可以减少当前模块的大小,减少加载后占用的内存大小;造成的影响时,jvm crash后,很多符号调试信息都看不到了,分析crash过程变得很复杂。

 

2. 查看libjvm情况:

查看命令:file /opt/.../java/jre/lib/amd64/server/libjvm.so

 

 

     libjvm.so: ELF 64-bit LSB shared object, AMD x86-64, version 1 (SYSV), stripped

 

    没有被stripped的则是not stripped

 

3. libjvm stripped造成的影响会导致attach不上core文件

 

     命令: $jstack java core.24706

Attaching to core core.24706 from executable java, please wait...
Error attaching to core file: Can't attach to the core file
 

4. 查看具体找不到的符号

     详见地址:https://gist.github.com/1525916

 

$ export LIBSAPROC_DEBUG=1
$ jstack -m $JAVA_HOME/bin/java core.11028 
Attaching to core core.11028 from executable /opt/taobao/java/bin/java, please wait...
libsaproc DEBUG: Note header with n_type = 1 and n_descsz = 336
libsaproc DEBUG: got integer regset for lwp 11386
libsaproc DEBUG: integer regset
libsaproc DEBUG:        r15 = 0x2aab79aac1b8
libsaproc DEBUG:        r14 = 0x466290c0
libsaproc DEBUG:        r13 = 0x0
libsaproc DEBUG:        r12 = 0x4a
libsaproc DEBUG:        rbp = 0x46619040
libsaproc DEBUG:        rbx = 0x4a
libsaproc DEBUG:        r11 = 0x2b0418151548
libsaproc DEBUG:        r10 = 0xbc4
libsaproc DEBUG:        r9 = 0x2aaaca680f48
libsaproc DEBUG:        r8 = 0x46619070
libsaproc DEBUG:        rax = 0x2b04181446a0
libsaproc DEBUG:        rcx = 0x4a
libsaproc DEBUG:        rdx = 0x0
libsaproc DEBUG:        rsi = 0x466290c0
libsaproc DEBUG:        rdi = 0x2aab79aac000
libsaproc DEBUG:        orig_rax = 0xffffffffffffffff
libsaproc DEBUG:        rip = 0x2b0417c60971
libsaproc DEBUG:        cs = 0xe033
libsaproc DEBUG:        eflags = 0x10206
libsaproc DEBUG:        rsp = 0x46618fc0
libsaproc DEBUG:        ss = 0xe02b
libsaproc DEBUG:        fs_base = 0x0
libsaproc DEBUG:        gs_base = 0x0
libsaproc DEBUG:        ds = 0x0
libsaproc DEBUG:        es = 0x0
libsaproc DEBUG:        fs = 0x63
libsaproc DEBUG:        gs = 0x0
libsaproc DEBUG: Note header with n_type = 3 and n_descsz = 136
libsaproc DEBUG: Note header with n_type = 6 and n_descsz = 256
libsaproc DEBUG: Note header with n_type = 1 and n_descsz = 336
libsaproc DEBUG: got integer regset for lwp 12741
libsaproc DEBUG: integer regset
libsaproc DEBUG:        r15 = 0x2aab7a5db000
libsaproc DEBUG:        r14 = 0x2aab7a5db000
...
libsaproc DEBUG: base = 0x7fffbaa67000  size = 86016
libsaproc DEBUG: lookup failed for symbol 'UseSharedSpaces' in obj '/opt/taobao/install/jdk-1.6.0_17/jre/lib/amd64/server/libjvm.so'
libsaproc DEBUG: can't lookup 'UseSharedSpaces' flag
Error attaching to core file: Can't attach to the core file
$ 
 

 

 

 

 

 

分享到:
评论

相关推荐

    Linux下查看.so和可执行文件是否debug编译的方法(必看)

    今天同事问我,如何判断一个.so是否是debug编译的。... 我对debug和release的.so运行file后,得出几乎相同的输出, 都是not stripped. 所以我算是误导同事了。 根据所言, debug/release的区别更多的表现在.so和可执行

    jfs.rar_Stripped Down

    标题“jfs.rar_Stripped Down”表明这是一份精简版的JFS(Journaled File System)头文件,专为Linux操作系统设计。描述提到它仅包含JFS在磁盘上的数据结构,这意味着它去除了不必要的部分,可能用于简化理解和分析...

    hadoop2.2.0 native lib 本地IO库 Linux SuSE 11 X86_64

    libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped 下面是查询的详细OS版本信息 #uname -a Linux F23-B4-E2-B3 2.6.32.12-0.7-default #1 SMP ...

    身份证阅读器gcc-arm-8.3.0-2019.03-x86-64-arm-linux-gnueabihf SDK开发包

    arm-linux-gnueabihf-gcc -v ...output: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, with debug_info, not stripped

    身份证阅读器Linux开发包gcc-linaro-5.3-2016.02-x86-64-arm-linux-gnueabihf

    libdonsee.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=4cb43bd31cc828a97e94d4c3f0bc5410e3598457, with debug_info, not stripped #file output output...

    hadoop-2.2.0.tar.gz 64位 part1 hadoop源码包编译为linux64位版本

    本人经过4个小时顺利将hadoop官方的32位编译为64位,通过测试可用,方便在64位linux安装...lib//native/libhdfs.so.0.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

    mg2stripped.cpp

    mg2stripped.cpp

    判断Unix系统及库文件是32位还是64位的详解

    判断Unix系统及库文件是32位还是64位的详解 ...libnss1_files-2.2.4.so: ELF 32-bit LSB shared object, Intel 80386, version 1, not stripped # file libtrsbean.so libtrsbean.so: ELF 64-bit LSB shar

    DreamCloudWalker#Note#AndroidStudio项目so生成路径1

    参考The .so files are also available in the stripped_native_libs and cmake folder.

    it-tidalwave-northernwind-model-core-stripped-1.1-ALPHA-2.zip

    《深入理解JUnit理论Runner:以开源项目"it-tidalwave-northernwind-model-core-stripped-1.1-ALPHA-2.zip"中的junit-theories为例》 在Java测试领域,JUnit作为最广泛使用的单元测试框架,一直扮演着核心角色。...

    从程序员角度看ELF

    例如,`file`命令显示的"ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked (uses shared libs), not stripped."表明这是一个32位的小端字节序的Intel x86架构的ELF可执行文件,动态链接,...

    VM Stripped Data Table Snippet.zip

    "Stripped Data Table Snippet"可能是指一个优化过的数据表片段,它被用于提高游戏性能。在这个场景下,"VM Stripped Data Table Snippet.zip"很可能是包含了一段优化过的JavaScript代码,用于在游戏中高效地处理...

    openjdk6-b16-stripped.zip

    ikvm-0.42.0.3.zip ikvmbin-0.42.0.3.zip openjdk6-b16-stripped.zip 基于.NET的Java虚拟机意味着我们可以让Java程序跑在.NET上,可以通过虚拟机这个中介让Java程序和.NET应用程序一起协同工作。更难能可贵的是,...

    AMQP-0-9-1规范

    此文档定义了一个网络协议,高级消息队列协议(AMQP), 它使一致的客户端程序可以与一致的消息中间件服务器通信. 我们面对这个领域有经验的技术读者,同时还提供了足够的规范和指南,一个合适的技术工程师可以根据这些...

    Neural Reverse Engineering of Stripped Binaries

    Neural Reverse Engineering of Stripped Binaries,剥离二进制的神经逆向工程论文,小组做的ppt报告

    opencv-arm.tar.gz

    ubuntu下交叉编译成功的ARM版本OpenCV3.4.10 libopencv_core.so.3.4.10: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, not stripped

    geojson-strip:从 GeoJSON 功能中剥离所有属性!

    用法 $ node index.js file.geojson > file.stripped.geojson或者: $ node index.js -o file.stripped.geojson file.geojson例子从: { " type " : " FeatureCollection " , " features " : [ { " type " : " ...

    Debugging with GDB --2007年

    Table of Contents Summary of GDB . . . . . . . . ....Free software ....Contributors to GDB ....A Sample GDB Session ....Loading the Executable ....Setting Display width....Setting Breakpoints ....Running the executable ...

    ELF文件格式学习

    hello.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped ``` 通过以上的介绍和实例分析,我们可以看到ELF文件格式的强大和灵活性,它是...

Global site tag (gtag.js) - Google Analytics