https://github.com/bradleyjkemp/memviz
Visualize your data structures using graphviz
memviz

How would you rather debug a data structure?
"Pretty" printed |
Visual graph |
(*test.fib)(0xc04204a5a0)({
index: (int) 5,
prev: (*test.fib)(0xc04204a580)({
index: (int) 4,
prev: (*test.fib)(0xc04204a560)({
index: (int) 3,
prev: (*test.fib)(0xc04204a540)({
index: (int) 2,
prev: (*test.fib)(0xc04204a520)({
index: (int) 1,
prev: (*test.fib)(0xc04204a500)({
index: (int) 0,
prev: (*test.fib)(),
prevprev: (*test.fib)()
}),
prevprev: (*test.fib)()
}),
prevprev: (*test.fib)(0xc04204a500)({
index: (int) 0,
prev: (*test.fib)(),
prevprev: (*test.fib)()
})
}),
.
.
.
|
 |
memviz
takes a pointer to an arbitrary data structure and generates an easy to understand graph.
Simply pass in your data structure like so: memviz.Map(out, &data)
and then pipe the output into graphviz.