I am trying to understand a C++ codebase. I have used some free tools that will scan the code and produce diagrams, but they are not so easy to understand.
What I think would be useful is to manually construct something assisted by the UML tool.
What i need is to create something that looks like the data structure at run-time. Ideally by pulling objects from the UML and arranging them. Also I would like to organise the classes in sub-packages – like those close to the DB, or towards the branches of the datastructures.
(I am partly doing this now with Folders in the Visual Studio Solution explorer)
This is a LINUX project with many Makesfiles, but many tools like Visual Studio, “understands” the code when I just create projects with the files in the main directory of the exe I am working on
Most tools will only give you a structural view (classes and packages), which honestly doesn’t tell you that much of what goes on in runtime.
Enterprise Architect from Sparx Systems incorporates a Visual Execution Analyzer, which can generate sequence diagrams from a debug session. It supports C++ but only on Windows so you’d have to rebuild, but if I understand you correctly you’ve already got your code running in Visual Studio.
Here’s a brief demo (in this case the code is in C#, but they do claim to support C++ as well). This isn’t a full-roundtrip, write-the-code-in-UML kind of thing, but personally I think that’s a pipe dream anyway. Use UML to document, use a programming language to code.