最近在调试T20的内存,使用的指令在此记录一下
1. pmap指令查看指定进程中的内存分布。该指令需要在busybox中开启
pmap -x 111
2.应用与so需要执行strip操作,可以减小存储空间的大小
mips-linux-gnu-strip libsysutils.so
3.nm指令和file指令可以查看应用和so是否为strip的
nm libzbar.so.0.2.0
nm: libzbar.so.0.2.0: no symbols
file libzbar.so.0.2.0
libzbar.so.0.2.0: ELF 32-bit LSB shared object, MIPS, MIPS32 rel2 version 1 (SYSV), dynamically linked, stripped
4.mips-linux-gnu-readelf可以查看so的编译依赖的库文件
mips-linux-gnu-readelf -d libzbar.so.0.2.0
输出如下:
Dynamic section at offset 0x12c contains 22 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libpthread.so.0]
0x00000001 (NEEDED) Shared library: [libc.so.0]
0x0000000e (SONAME) Library soname: [libzbar.so.0]
0x0000000c (INIT) 0x2210
0x0000000d (FINI) 0x223c0
0x00000004 (HASH) 0x20c
0x00000005 (STRTAB) 0x12bc
0x00000006 (SYMTAB) 0x70c
0x0000000a (STRSZ) 3513 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x00000003 (PLTGOT) 0x35190
0x00000011 (REL) 0x2078
0x00000012 (RELSZ) 400 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x70000001 (MIPS_RLD_VERSION) 1
0x70000005 (MIPS_FLAGS) NOTPOT
0x70000006 (MIPS_BASE_ADDRESS) 0x0
0x7000000a (MIPS_LOCAL_GOTNO) 85
0x70000011 (MIPS_SYMTABNO) 187
0x70000012 (MIPS_UNREFEXTNO) 25
0x70000013 (MIPS_GOTSYM) 0x34
0x00000000 (NULL) 0x0
mips-linux-gnu-readelf -d iCamera
输出如下:
Dynamic section at offset 0x160 contains 49 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [libssl.so.1.0.0]
0x00000001 (NEEDED) Shared library: [libzbar.so.0]
0x00000001 (NEEDED) Shared library: [liblogserver.so]
0x00000001 (NEEDED) Shared library: [libstdc++.so.6]
0x00000001 (NEEDED) Shared library: [libcrypto.so.1.0.0]
0x00000001 (NEEDED) Shared library: [libfftw3.so.3]
0x00000001 (NEEDED) Shared library: [libcurl.so.4]
0x00000001 (NEEDED) Shared library: [libfaac.so.0]
0x00000001 (NEEDED) Shared library: [libmp4v2.so.2]
0x00000001 (NEEDED) Shared library: [libIOTCAPIs.so]
0x00000001 (NEEDED) Shared library: [libAVAPIs.so]
0x00000001 (NEEDED) Shared library: [libimp.so]
0x00000001 (NEEDED) Shared library: [libsysutils.so]
0x00000001 (NEEDED) Shared library: [libalog.so]
0x00000001 (NEEDED) Shared library: [libaudioProcess.so]
0x00000001 (NEEDED) Shared library: [librt.so.0]
0x00000001 (NEEDED) Shared library: [libpthread.so.0]
0x00000001 (NEEDED) Shared library: [libm.so.0]
0x00000001 (NEEDED) Shared library: [libpaho-mqtt3as.so.1]
0x00000001 (NEEDED) Shared library: [libdl.so.0]
0x00000001 (NEEDED) Shared library: [libc.so.0]
0x0000000c (INIT) 0x404a08
0x0000000d (FINI) 0x46efb0
0x00000004 (HASH) 0x400310
0x00000005 (STRTAB) 0x402534
0x00000006 (SYMTAB) 0x400d34
0x0000000a (STRSZ) 5675 (bytes)
0x0000000b (SYMENT) 16 (bytes)
0x70000016 (MIPS_RLD_MAP) 0x550ba0
0x00000015 (DEBUG) 0x0
0x00000003 (PLTGOT) 0x550bb0
0x00000011 (REL) 0x403e80
0x00000012 (RELSZ) 32 (bytes)
0x00000013 (RELENT) 8 (bytes)
0x70000001 (MIPS_RLD_VERSION) 1
0x70000005 (MIPS_FLAGS) NOTPOT
0x70000006 (MIPS_BASE_ADDRESS) 0x400000
0x7000000a (MIPS_LOCAL_GOTNO) 2
0x70000011 (MIPS_SYMTABNO) 384
0x70000012 (MIPS_UNREFEXTNO) 31
0x70000013 (MIPS_GOTSYM) 0x180
0x00000014 (PLTREL) REL
0x00000017 (JMPREL) 0x403ea0
0x00000002 (PLTRELSZ) 2920 (bytes)
0x70000032 (MIPS_PLTGOT) 0x49a9c4
0x6ffffffe (VERNEED) 0x403e60
0x6fffffff (VERNEEDNUM) 1
0x6ffffff0 (VERSYM) 0x403b60
0x00000000 (NULL) 0x0