ideas icon indicating copy to clipboard operation
ideas copied to clipboard

A memory access visualization library

Open KOLANICH opened this issue 2 years ago • 3 comments

Project description

When developing C++ software sometimes it is needed to debug access to elements within arrays. Since while processing arrays the software doing it has to pass many iterations, debugging it step-by-step while watching into watch is not the most comfortable way.

It is proposed to add a bit of visualization to the process.

  1. All objects use RAII idiom.
  2. A user includes a header and links the software with a certain library.
  3. A user creates a visualization object. This object manages the visualization window. The window lives in a separate thread.
  4. A user spawns objects representing visualizations of arrays. For each such an object a user provides its dimensions. Dimensions can be altered further. Spawning an object causes visualization window to draw it. For 1D one it is a bar with cells. For 2D it is a matrix. For multiple dimensions these are sections.
  5. A user calls the API of the arrs viz objects to create cursors. Each cursor is a marker on the bar. The parts of the bar where cursors reside are magnified as if under a magnifying glass.
  6. A user calls the API to set positions of cursors.

Also it should be possible not only to display the picture in real time, but also log the events into a binary format, and then visualize them.

Relevant Technology

  • C++
  • GUI libs, like Qt, GTK, SDL and DearImGui

Complexity and required time

Complexity

  • [x] Beginner - This project requires no or little prior knowledge of the technolog(y|ies) specified to contribute to the project

Required time (ETA)

  • [x] Medium work - A week or two

Categories

  • [x] Developer Tooling

KOLANICH avatar May 03 '23 15:05 KOLANICH

Good Idea, when start, I want to partecipate!

ZigRazor avatar May 04 '23 06:05 ZigRazor

having a go at this

PersonalKez avatar Jun 25 '24 16:06 PersonalKez

Sorted. https://github.com/PersonalKez/ArrVizLib

Feedback welcome. Install is a bit clunky but generally always is on Windows CMAKE.

PersonalKez avatar Jun 29 '24 21:06 PersonalKez