Code Reading and analysis tool understand 2.0 trial

Source: Internet
Author: User

Understand 2.0 is a powerful source code reading and analysis software. After trying it for a while, I feel pretty good and can greatly improve the code reading efficiency. Because understand is very powerful, it is impossible to describe all its functions in detail in this article. So I just want to list the functions that I think are more important or distinctive than others to give a reference.

Understand 2.0 can be downloaded from http://www.scitools.com/and can be installed for 15 days.

Before using understand to read the code, you must create a project and add all source code files to the project. Here I created an atlstl project and added the source code of ATL, STL, and MFC in Microsoft Visual Studio 2008. It must be noted that understand supports a variety of source code, including C #, not just C ++ code.

This is an overview of the entire user interface. It can be seen that the style is very similar to that of Visual Studio. All subforms can be docked or folded at will.

 

The following describes the features of understand one by one.

1. Powerful self-drawing capabilities.

Understand can generate many practical graphics, such as class relationship graphs, function call relationship graphs, and header file inclusion relationships. The cfile class diagram is as follows.

 

Of course, if you are willing, you can generate the class diagram (http://p.blog.csdn.net/images/p_blog_csdn_net/qwang24/EntryImages/20090411/ButterflyGraph-CObject.png) of the entire MFC derived from cobject ). Such an image can only be seen in msdn, and can be generated on its own in an instant, very cool!

 

You can also display the call relationship of the function:

 

 

And header file inclusion:

 

2. Excellent incremental search functions

Incremental search may not be a new concept, which has long been available in Visual Studio. However, incremental search in understand can highlight dynamic code. That is to say, all instances of the selected identifiers can be displayed in conspicuous colors, which is helpful for reading the code. For example, if you run incremental search on the number of workers pfiletime of the function, all occurrences of the function are marked. In this way, it is clear how the number of shards is used.

 

 

 

3. Rich identifier information

The understand code information database is very intact, and all identifiers can be displayed in different categories. Each type of identifier has different information. For example, the information about a function can display the file name, return value type, number of records, call function, called function, information about the Function referenced, and the amount of code. The reference information contains reference types, such as declarations, calls, and definitions, which are useful.

 

For the variable information, to show where the variable is defined, whether to set the value of the variable or use the value of the variable.

 

4. convenient search

Many window bodies have convenient search functions to help you locate the required information at high speed. For example, you can enter the file name in the project browser to quickly find the relevant file.

 

Understand has many other powerful functions, such as report functions, code editing, and code change tracking.

Of course, like all other code analysis tools and software, understand also has some shortcomings. For example, it may cause parsing errors and does not support attribute extension of COM code, which requires high machine configuration, the support for the regular expression of the positive table is not complete.

 

Note:

Resolve the issue of attribute extension that cannot be correctly parsed from com: Search for the regular expression table:/]/S * $, replace it with/]; (use the replacement function of Visual Studio in multiple files. You cannot use unserstand directly .)

Solve the problem that _ interfacekeyword cannot be correctly parsed: Add a macro definition to the project option and define _ interface as struct.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.