1 / 12

Debugger Frontent for the SharpDevelop IDE

Debugger Frontent for the SharpDevelop IDE. Martin Koníček. Current state of debugging. Breakpoints, watches, etc. Basically the same in any current IDE. What about data structures ?. What about data structures ?. Debugger does not provide a useful view of reality. Solution.

mick
Download Presentation

Debugger Frontent for the SharpDevelop IDE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Debugger Frontent for the SharpDevelop IDE Martin Koníček

  2. Current state of debugging • Breakpoints, watches, etc. • Basically the same in any current IDE

  3. What about data structures?

  4. What about data structures? • Debugger does not provide a useful view of reality

  5. Solution • Object graph visualizer

  6. Debugging collections • Very common case – collections of objects

  7. Debugging collections • Users have to expand each item to see anything

  8. Solution • Collection visualizer

  9. Problems faced • Determining how the graph looks in memory • The graph lives in a separate process, GC moves objects while the debugger is trying to analyze the graph • Dynamic layout and animation of the graph • Small graph changes -> small layout changes • Calculating “natural” edge routes

  10. Problems faced • Achieving reasonable performance • Interprocess communication very expensive • Need to handle large collections • Solution: everything is as lazy as possible. What is not on the screen is not being calculated.

  11. Results • Already integrated in the standard release of SharpDevelop • Received positive feedback • will evangelize the features to collect more feedback • Extensibility • users can plug in new visualizers

  12. Thank you for your attention Questions?

More Related