fuchsia编译框架生成目标父子节点关系图,脚本实现

本文介绍了一种脚本方法,用于根据ninja生成的graphviz dot文件,分析并可视化Fuchsia编译链接关系。脚本能找出特定label的父子节点,并以dot格式保存,通过dot工具转化为PNG或PDF。示例中,作者展示了如何标记特定节点并生成关系图,并提供了扩展脚本来绘制整个zircon.graph的复杂关系网络。
摘要由CSDN通过智能技术生成

该脚本主要是根据ninja生成的graphviz dot file文本文件,然后根据其中一个label节点,查找 其父子节点。方便理清该节点的编译链接关系。该脚本生成某一个label节点的父子节点dot描述内容,存为dot类文件。然后使用dot工具,将dot文件生成png或者Pdf文件。

#!/bin/bash
#set -x
PARA_N=2
if [ $# -lt $PARA_N ];then
	echo usage:$0 label graph
	exit 1
fi
TMP_DOT=tmp.dot #target dot file
TMP_TMP=tmp.tmp #temporary file
TMP_CHILDREN_ID=children.id #temporary file
TMP_PARENT_ID=parent.id #temporary file
label_id=$1
dot_file=$2
dot_n=$3
#echo $label_id $dot_file
IGNORE_ID_TXT=ignore_id.txt
#find current label id
head -n 4 $dot_file > $dot_n.$TMP_DOT
grep "$label_id\" \[label" $dot_file | grep -v "\->" > $TMP_TMP
label_num=`cat $TMP_TMP | wc -l`
if [ $label_num -gt 1 ];then
	echo ignore $label_id
	echo $label_id >> $IGNORE_ID_TXT
	rm $TMP_TMP $dot_n.$TMP_DOT
	exit 1
fi
#label_id=`cat $TMP_TMP|awk -F\" '{ print $2 }'`
grep
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值