Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>One of the most useful things I once have done was my application draw the graphs ...</p> <p>In an application that had a complicated data structure specialized to the job (standard hashtable didn't do in that case ;-) I had my application output a ".dot" script that dot tool of <a href="http://www.graphviz.org/" rel="nofollow noreferrer">graphviz</a> could parse.</p> <p>It did this by having a dump routine (okay, method, it was C++) that output the .dot header </p> <pre><code> digraph g { </code></pre> <p>then walked my data structure and then wrote the footer</p> <pre><code> } </code></pre> <p>In the structure walk it wrote every pointer with</p> <pre><code> SOURCE -&gt; DESTINATION </code></pre> <p>where Source was the memory address of the referencing object preprened with O (O213435354) and Destination was the object pointed to in the same format.</p> <p>At the start of every object it also wrote</p> <pre><code>SOURCE [ .... ] </code></pre> <p>with ... being the object data.</p> <p>Whenever the application was at an "intersting" state I dumped the graph and then used the dot-tool from graphviz to visualize it. I have found a lot of pointer error quite easily that way, the eye is built to see regular structures in lines ...</p> <p>By the way I still regularily use <a href="http://www.graphviz.org/" rel="nofollow noreferrer">graphviz</a> as it is quite nice to write &amp; edit graphs with the text editor and let the tool vizualize them afterward. If I need to dress up .dot graphs for a powerpoint-spoiled audience, I load them into <a href="http://www.omnigroup.com/applications/OmniGraffle/" rel="nofollow noreferrer">OmniGraffle</a> on my mac. (And my PC-using coworkers think I have some diagramming superhero powers because with that combination I produce graphs 10 times faster than them when they use Visio)</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload