All Projects → cbdevnet → rtl2dot

cbdevnet / rtl2dot

Licence: other
C call graph generator

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to rtl2dot

Go Callvis
Visualize call graph of a Go program using Graphviz
Stars: ✭ 3,692 (+7591.67%)
Mutual labels:  graphviz, callgraph
callGraph
A multi-language tool which parses source code for function definitions and calls
Stars: ✭ 50 (+4.17%)
Mutual labels:  graphviz, callgraph
Uecs
Ubpa Entity-Component-System (U ECS) in Unity3D-style
Stars: ✭ 174 (+262.5%)
Mutual labels:  graphviz
FrameOfReference
C++ library to pack and unpack vectors of integers having a small range of values using a technique called Frame of Reference
Stars: ✭ 36 (-25%)
Mutual labels:  gcc
Visualize ruby
Transform code into a flowchart and experimentally trace the execution path through it
Stars: ✭ 237 (+393.75%)
Mutual labels:  graphviz
Diagrams
🎨 Diagram as Code for prototyping cloud system architectures
Stars: ✭ 15,756 (+32725%)
Mutual labels:  graphviz
Azure Plantuml
PlantUML sprites, macros, and other includes for Azure services
Stars: ✭ 247 (+414.58%)
Mutual labels:  graphviz
Psgraph
A set of utilities for working with Graphviz in Powershell
Stars: ✭ 160 (+233.33%)
Mutual labels:  graphviz
home-assistant-graph
No description or website provided.
Stars: ✭ 30 (-37.5%)
Mutual labels:  graphviz
Ansible Playbook Grapher
A command line tool to create a graph representing your Ansible playbook tasks and roles
Stars: ✭ 234 (+387.5%)
Mutual labels:  graphviz
xcross
"Zero Setup" cross-compilation for C/C++. Supports numerous architectures, build systems, C standard libraries, vcpkg, and Conan.
Stars: ✭ 29 (-39.58%)
Mutual labels:  gcc
Deepgraph
Analyze Data with Pandas-based Networks. Documentation:
Stars: ✭ 232 (+383.33%)
Mutual labels:  graphviz
Gofsm
a featured FSM that can export state images
Stars: ✭ 222 (+362.5%)
Mutual labels:  graphviz
ecto erd
A mix task for generating Entity Relationship Diagram from Ecto schemas available in your project.
Stars: ✭ 173 (+260.42%)
Mutual labels:  graphviz
Go Graphviz
Go bindings for Graphviz
Stars: ✭ 183 (+281.25%)
Mutual labels:  graphviz
gen-callgraph
gen-callgraph is a script to generate call graph from elf binary
Stars: ✭ 47 (-2.08%)
Mutual labels:  callgraph
Dot To Ascii
Graphviz to ASCII converter using Graph::Easy
Stars: ✭ 168 (+250%)
Mutual labels:  graphviz
Graphviz
A Swift package for working with GraphViz
Stars: ✭ 230 (+379.17%)
Mutual labels:  graphviz
C4 Plantuml
C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures
Stars: ✭ 3,522 (+7237.5%)
Mutual labels:  graphviz
perses
Language-agnostic program reducer.
Stars: ✭ 57 (+18.75%)
Mutual labels:  gcc

rtl2dot

Create C callgraphs from gcc rtldumps via GraphViz.

Based on egypt, rewritten in python with added support for configurable root nodes and omission by regex. May or may not work with C++ code.

Usage

Compile your code with -fdump-rtl-expand (eg. by running make CFLAGS=-fdump-rtl-expand). This will generate some new files, most commonly with the extension .expand.

Run rtl2dot myproject.beepbop.expand | dot -Tsvg > myproject.svg to get a graph of the main function of your project.

Valid options are:

  • --ignore <regex> Regular expression describing function names to be ignored
  • --root <function> Select the function to use as root node of the graph
  • --local Ignore functions that are not defined within the rtl dump (most likely library functions)
  • --indirect Draw a dashed line when the address of a function is taken

Any other arguments are treated as input files. If no input files are given, input is expected on stdin.

Example

./rtl2dot.py smtpd.expand --root core_loop --ignore "client_send|logprintf|common_*" --local | dot -Tsvg > smtpd.svg

License

This program is free software. It comes without any warranty, to the extent permitted by applicable law. You can redistribute it and/or modify it under the terms of the Do What The Fuck You Want To Public License, Version 2, as published by Sam Hocevar and reproduced below.

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004

Copyright (C) 2004 Sam Hocevar [email protected]

Everyone is permitted to copy and distribute verbatim or modified 
copies of this license document, and changing it is allowed as long 
as the name is changed. 

DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. You just DO WHAT THE FUCK YOU WANT TO.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].