memviz [](https://travis-ci.org/bradleyjkemp/memviz) [](https://coveralls.io/github/bradleyjkemp/memviz?branch=master) [](https://goreportcard.com/report/github.com/bradleyjkemp/memviz) [](https://godoc.org/github.com/bradleyjkemp/memviz)
November 7, 2020 ยท View on GitHub
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)(
|
Usage
memviz takes a pointer to an arbitrary data structure and generates output that can be used to generate an easy to
understand diagram using graphviz.
To generate a diagram, first you will need to install graphviz on your system following the instructions here.
Next, use memviz.Map(out, &data) to generate a graphviz dot file and
then pipe the output into graphviz.
For examples of how to use memviz, see the code sample in the example
folder and the tests in memviz_test.go.