Giter VIP home page Giter VIP logo

cyq.visualizer's Introduction

CYQ.Visualizer

.NET必备可视化调试工具(.NET Essential Visual Debugging Tool For Visual Studio)

1: How to use

1: Click to download: .NET Visualization Debugging Tool  (updated on 2016-12-29 19:11:00)

(Finally, it is completely compatible with some problems that cannot be used in the VS environment)

2: Execute after decompressing RAR: CYQ.VisualierSetup.exe will close the prompt window after success.

PS: Run once, support each VS version, improve the efficiency of debugging for life, and there is no side effect.

2: Open source and subsequent upgrade address:

Open source address: https://github.com/cyq1162/CYQ.Visualizer  (2018-04-26 officially migrated to github)

Old address: http://code.taobao.org/svn/cyqopen/trunk/CYQ.Visualizer/

Subsequent upgrades get the address: https://github.com/cyq1162/cyqdata  in the documentation directory.

3: Function introduction

 1: Json transfer table for string support:

2: Support NameValueCollection (Request.Form, Request.QueryString), HttpCookieCollection (Request.Cookies) table view

Cookies:

Request.Form, Request.QueryString

3: Others do not take screenshots, but also support the following types:

1: System.Drawing.Image: (this turn picture view)

2: MDataTable series: tables, rows, columns, structures

3: DataTable series: tables, rows, columns, structures

4: Generic series: Dictionary<,>, LinkedList<>, List<>, Queue<>, SortedDictionary<,>, SortedList<,>, Stack<>

5: Non-generic series: ArrayList, Hashtable, Queue, SortedList, Stack

6: Other inheritance from: Type of Enumerable interface: (too many types, future one-to-one test)

BitArray, ReadOnlyCollectionBase, HybridDictionary, ListDictionary, StringCollection, StringDictionary, BaseCollection, etc.

4: Research process

On the content of visual debugging, a search on the Internet, the relevant information is all the articles I have sent before, sad reminder on a word. . . .

It seems that no one is studying this piece, but fortunately, the sky is not worthy of the heart, or I am breaking through. . . . .

The process that can come out with such a simple tool is:

1: Once published a simple tutorial: Custom Visual Debugging Tools (Microsoft.VisualStudio.DebuggerVisualizers)

2: A different VS version of the DLL (Microsoft.VisualStudio.DebuggerVisualizers.dll) was collected.

3: wrote a tool, batch copy: open source release: VS code segment shortcuts and visual debugging rapid deployment tools

4: I thought of copying multiple project files to implement multiple VS version compilations (if I don't think of this, I guess it won't be tossed):

5: Solved the serialization problem (to support various types on a large scale):

By default, classes that do not support serialization do not support visualization. Therefore, if you want to support DataRow view, you will throw an exception directly.

In order to solve this problem, an Internet search (related information, the domestic is basically my own article, it is hard to find an article abroad).

Through research, this problem has finally been solved:

 Public  class EnumerableVisualizerObjectSource : VisualizerObjectSource
    {
        Public  override  void GetData( object target, System.IO.Stream outgoingData)
        {
            If (target is NameObjectCollectionBase)
            {
                Target = MDataTable.CreateFrom(target as NameObjectCollectionBase);
            }
            Else
            {
                Target = MDataTable.CreateFrom(target as IEnumerable);
            }
            Base .GetData(target, outgoingData);

        }
    }

Custom data source, when setting the data source, convert the object into MDataTable, and then go to the series by MDataTable.

6: MDataTable has to support and a large number of types of conversion work (the work of these years has been completed a lot, just need to complete).

to sum up:

When the last article was published, some netizens still couldn't understand what it was used for, a 唉~~~ word.

This time, under the full set of conditions, it took a day of research time and was directly written as a tool to share with you.

And you just have to download, and then double-click it, you have to get a good debugging experience!

In the process of developing and debugging, you can easily view all the data of the variables! ! !

Mom no longer has to worry about your debugging ability~~~

Don't ask me why~~~ I am not a mine under Lei Feng Tower~~~

cyq.visualizer's People

Contributors

cyq1162 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.