objdump命令是Linux下的反汇编目标文件或者可执行文件的命令,它以一种可阅读的格式让你更多地了解二进制文件可能带有的附加信息。
在我们跑harmony的开源用例的时候总是会遇到一些用例会crash,首先我们要分析造成用例crash的原因是否为用户态异常造成的。当是用户态异常造成的用例crash的情况,可以依照以下的步骤去分析原因。
1.使用命令file去查看Bin文件是否可以stripped
$ file ActsProcessApiTest.bin
ActsProcessApiTest.bin: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-arm.so.1, not stripped
2.生成符号文件
$ ~/llvm/bin/llvm-objdump -d ActsProcessApiTest.bin > ActsProcessApiTest.asm
objdump是gcc工具链中的反汇编工具,所以我们可以直接 obhdum -d elf文件 > asm.文件命令去反编译出二进制的文件。但是,在该项目中我们使用的是L1版本的,在L1中我们使用的是clang,所以在这个命令之前加上llvm的安装路径。