view_tree

发布于 2022-09-19 09:04:49 字数 976 浏览 9 评论 2

gcc-vcg-plugin现在基本可以用来查看一个tree的结构了。
下面展示了一个简单的函数在gcc中的tree的结构:
$ cat ~/temp/plus.c
int
add (int a, int b)
{
  return a + b;
}

$ gdb -q -args ~/install/plugin/libexec/gcc/i686-pc-linux-gnu/4.5.0/cc1 plus.c -fplugin=~/install/general/lib/gcc-vcg-plugin/vcg.so

Breakpoint 1, c_genericize (fndecl=0xb7f21e00) at ../../plugin/gcc/c-gimplify.c:79
79        {
(gdb) view_tree fndecl

图形如下(注:由于图形太大,这里没有完全展开):

plus.jpeg (101.25 KB, 下载次数: 2)

下载附件

2010-04-10 16:35 上传

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

温馨耳语 2022-09-19 23:28:55

我把这个项目单独放在 http://code.google.com/p/gcc-vcg-plugin/ 上了,如果有感兴趣,想参加的,可以跟我联系。

另外,http://code.google.com/p/gccint-zh 这个项目还一直没有了结,有人感兴趣的话,也可以跟我联系。

当爱已成负担 2022-09-19 16:20:39

gcc-vcg-plugin的实现目的

作为gcc的第三方插件,图形化显示gcc内部的数据结构,方便调试和查看gcc代码。

1. 可以在gdb中调试gcc时,图形化显示gcc内部的数据结构
2. 也可以在使用gcc编译程序的时候,转储图形化的描述文件

目前使用vcg格式来描述图形文件。

现在,你可以用它来

1. 查看一个函数的cfg,从而知道一个pass之后,优化对函数都做了哪些转换
2. 查看一个tree,了解gcc的tree结构

gcc-vcg-plugin的实现方法

1. 使用gcc的插件功能,编写一个动态链接库。
2. 针对gcc的内部数据结构,编写相应的转换函数,输出vcg文件。
3. 提供封装函数,用来调用vcgview来图形化显示vcg文件,在gdb中使用。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文