Debugging graphs with ease: experimental Visual Studio plugin

Правка en11, от yeputons, 2019-05-21 20:17:24

Hi everyone!

I'd like to present you a prototype of Visual Studio plugin which was developed by a student from my university as a coursework. Yielding floor to her:

GraphAlgorithmRenderer is an experimental Visual Studio extension for debugging and visualizing graph algorithms. It takes a description of graph nodes, edges and their properties, such as color and label, and renders a corresponding graph. The graph is refreshed automatically when you step in debugger. Graph config can be serialized to JSON and deserialized back.

More explanations and detailed example can be found here. Samples of the serialized config, C++ code, and the snapshots are here. Any feedback on this tool is welcome, please try it out!

Here is the list of known issues:

  1. Sometimes text boxes in Graph Visualization settings seem to be blocked and a text cannot be entered or it appears somewhere else, for example in the file with the code. You can try to close all other windows including the source file (it doesn't mean closing the Solution or stopping the debugger). We would be grateful if you help us to find out how to reproduce this bug.
  2. The UI is quite primitive and not very user-friendly at the moment That wasn’t our first priority, but we’d appreciate any simple-to-implement suggestions.
  3. The Standard Template Library functions and class methods are not supported in the expressions (operator[] being notable exception). It means that you cannot render elements in std::unordered_set or use std::find. In our samples, std::vector and arrays are used, and elements are accessed by indices. We wonder how bad it is.
  4. It usually takes from 0.5 to 2 seconds to redraw a graph, and this speed is far from perfect.

If you're interested in this tool, you can try it and leave any comments under this post. We would like to hear how useful this tool in general, and how we can improve it. If you found a bug, please report an issue on GitHub or here in the comments. If you would like to add your own config sample, please add it here and make a pull request or post your screenshots in the comment section below.

Теги debugging, visual studio, msvs, msvc, visualisation, visualizer, graph, graphs

История

 
 
 
 
Правки
 
 
  Rev. Язык Кто Когда Δ Комментарий
en12 Английский yeputons 2019-05-21 20:26:57 159 Update order of pictures and add [cut]
en11 Английский yeputons 2019-05-21 20:17:24 79 Change home page from GitHub to Visual Studio Marketplace
en10 Английский yeputons 2019-05-21 10:52:31 4 Tiny change: 'as development by a stud' -> 'as developed by a stud'
en9 Английский yeputons 2019-05-20 23:06:53 0 (published)
en8 Английский yeputons 2019-05-19 23:05:12 2 Tiny change: 'dd3.png)\n\n![ ](/pr' -> 'dd3.png)\n![ ](/pr'
en7 Английский yeputons 2019-05-19 23:03:42 150
en6 Английский yeputons 2019-05-19 23:03:19 75
en5 Английский yeputons 2019-05-19 23:03:03 75
en4 Английский yeputons 2019-05-19 23:02:33 75
en3 Английский yeputons 2019-05-19 22:58:45 39
en2 Английский yeputons 2019-05-19 22:48:04 2 Tiny change: ' issues:\n1. Somet' -> ' issues:\n\n1. Somet'
en1 Английский yeputons 2019-05-19 22:47:47 2561 Initial revision (saved to drafts)