8953系列----parse vmlinux
来源:互联网 发布:严歌苓 知乎 编辑:程序博客网 时间:2024/05/01 01:51
搞了个解析脚本
#!/bin/bashINPUT=$1OUTPUT=$2TOOLDIR=$3symbol[0]="swapper_pg_dir"symbol[1]="stext"symbol[2]="linux_banner"symbol[3]="kernel_config_data"symbol[4]="saved_command_line"symbol[5]="log_first_idx"symbol[6]="log_next_idx"symbol[7]="log_buf"symbol[8]="__log_align"struct[0]="printk_log"field[0]="ts_nsec"field[1]="len"field[2]="text_len"field[3]="dict_len"field[4]="magic"struct[1]="__log_buf"rm -f $(dirname $OUTPUT)/Symbol.configi=0num_of_symbols=${#symbol[@]}$TOOLDIR/x86_64-linux-android-nm $INPUT > $(dirname $OUTPUT)/tmpfilewhile [ $i -lt $num_of_symbols ]doaddr=`grep -w ${symbol[i]} $(dirname $OUTPUT)/tmpfile| cut -d' ' -f1`echo "symbol@${symbol[i]}:$addr;" >> $OUTPUTi=$((i+1))donej=0num_of_fields=${#field[@]}$TOOLDIR/x86_64-linux-android-objdump -g $INPUT 2>/dev/null | egrep 'Abbrev|DW' \| grep printk_log -A60 > $(dirname $OUTPUT)/dumpkeyinfowhile [ $j -lt $num_of_fields ]dodec_offset=`grep -w ${field[j]} -A8 $(dirname $OUTPUT)/dumpkeyinfo | grep DW_AT_data_member_location | cut -d':' -f2 | tr -d ' '`offset=`printf "%x" $dec_offset`echo "field_offset@struct ${struct[0]}@${field[j]}:$offset;" >> $OUTPUTj=$((j+1))donedec_size_of_struct0=`grep -A4 ${struct[0]} $(dirname $OUTPUT)/dumpkeyinfo | grep DW_AT_byte_size | cut -d':' -f2 | tr -d ' '`size_of_struct0=`printf "%x" $dec_size_of_struct0`echo "size_of@struct ${struct[0]}:$size_of_struct0;" >> $OUTPUTori_size_of_struct1=`$TOOLDIR/x86_64-linux-android-objdump -t $INPUT | grep ${struct[1]} | cut -f2 | cut -d' ' -f1`size_of_struct1=`printf "%x" 0x$ori_size_of_struct1`echo "size_of@${struct[1]}:$size_of_struct1;" >> $OUTPUTrm -f $(dirname $OUTPUT)/dumpkeyinform -f $(dirname $OUTPUT)/tmpfile
0 0
- 8953系列----parse vmlinux
- vmlinux
- vmlinux
- vmlinux-init, vmlinux-main
- parse
- parse
- parse
- $parse
- vmlinux.lds
- vmlinux,EABI
- vmlinux.lds
- vmlinux.lds
- Parse源码浅析系列(一)---Parse的底层多线程处理思路:GCD高级用法
- Linux Kernel系列三:Kernel编译和链接中的linker script(vmlinux.lds.S)语法详解
- vmlinux.lds解读
- vmlinux.lds文件
- vmlinux.lds解读
- vmlinux.lds解读
- 在Activity里嵌套Fragment
- 寒假篇5-魔法照片
- poj 3352Road Construction(无向强连通分量 tarjan)
- 微信小程序日记——高仿知乎日报
- 欢迎使用CSDN-markdown编辑器
- 8953系列----parse vmlinux
- 第四章高级查询--上机题和经典案例
- 关于安卓手机自带返回键的处理问题
- POJ 2031Building a Space Station(叉积点积的应用 )
- 牙疼怎么办 立刻止疼
- 同步与异步的概念
- 23种设计模式(10):命令模式
- A卡和N卡
- React Native 二维码扫描 react-native-camera的使用