One of the most useful things I've ever done is my drawing app ...
In an application where there was a complex data structure specialized for the task (the standard hash table wasn’t executed in this case ;-) I had my application for outputting the “.dot” script of this graphviz point tool can be analyzed.
This was done using the dump procedure (well, method, it was C ++), which outputs the .dot header
digraph g {
then went through my data structure and then wrote a footer
}
In the walk structure, he writes each pointer with
SOURCE -> DESTINATION
where Source is the memory address of the binding object previously prepared by O (O213435354), and Destination is the object pointed to by the same format.
At the beginning of each object, he also wrote
SOURCE [ .... ]
with ... object data.
Whenever the application was in the "intersting" state, I unloaded the graph, and then used the dot-tool from the graph to render. I found a lot of pointer errors quite easily so the eye is created to see regular structures in lines ...
By the way, I still regularly use graphviz , since it’s quite nice to write and edit graphs using a text editor, and the tool renders them later. If I need to draw .dot diagrams for a spoiled powerpoint audience, I upload them to OmniGraffle on my mac. (And my colleagues on the computer think that I have some features of superheroes with diagrams, because with this combination I get graphs 10 times faster than they do when they use Visio)
froh42
source share