title: Reverse engineering C++ - best tools and approach
body: <p><strong>I am sorry</strong> - C++ source code can be seen as implementation of a design, and with <em>reverse-engineering</em> I mean getting the design back.  It seems most of you have read it as getting C++ source from binaries.  I have posted a more precise question at <a href="https://stackoverflow.com/questions/4264399/undestanding-a-c-codebase-by-generating-uml-toolsmethology">Understanding a C++ codebase by generating UML - tools&amp;methology</a></p>
  
  <hr>
  
  <p>I think there are many tools that can reverse-engineer C++ (source-code), but usually it is not so easy to make sense of what you get out.</p>
  
  <p>Have somebody found a good methodology?</p>
  
  <p>I think one of the things I might want to see for example is the GUI-layer and how it is separated (or not from the rest).  Think the tools should somehow detect packages, and then let me manually organize it.</p>