libjvm.so stripped

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
$ 
 

 

 

 

 

 

你可能感兴趣的:(stripped,libjvm)