Software Debugging-Zhang yinkui

Source: Internet
Author: User

Appendix:

Model
A representation of a system, process, thing, or concept ).
A model can be a physical entity, a graph, a mathematical expression, or a descriptive text.
Advantage: it forms a specific impression and helps you understand the essence of the process.

Working Model:
It is the description, workflow, and step of a task.

1.7.1What is model??

A model is the abstract representation of a system ). Because a real system may be too large and may contain many details, it is often beyond the scope of human intelligence, therefore, we must extract important phenomena from the system so that people can understand and understand the important features of the system, includes the static and dynamic cooperative relationship between various components of the system.

A model contains a set of clearly defined basic concepts (building concept) and their relationships. These basic concepts are combined into high-level concepts or systems based on clearly defined rules (rule.

In short, the basic elements of a model include a set of basic concepts and a set of relationships or rules. These elements are used to express the system architecture ). Because people have a common understanding of the basic elements, the description of the entire system architecture (that is, the system model) becomes something that can be recognized and understood between people.

Therefore, when people adopt a common model, it is easy to communicate and cooperate with each other.

 

Software Debugging-Zhang yinkui

View reply preface for details

Objective:
Software Debugging meansSolve software problems(Bug) orUnderlying exploration and research(Hack, etc)

Specifically, I want to tell you:

1. principles and steps of Software Debugging(Original article: working model, that is, the steps and processes of a debugging work ),Tools(Another round of principles, steps, etc ). (This is passive, and the problem is solved again. It is to treat the disease from the outside, such as Western medicine. Is outside the software, is external)

Why do you need to know this:

Analogy:

Software Debugging is comparable to repairing a car. As a repairer, of course, you can't just start something like a driver. First of all, you need to know how a thing works, such as the role of all parts of a car. How can they work together to make the car move? Where does the power come from (the engine's piston moves up and down)? How does it make the wheel roll forward (turning the force into the direction of the rotating wheel through a clever drive )?

Then you need to know the specific repair process, that is, the part to be split first, the part to be split, the part to be observed, the question to be fixed, and the time to start the engine for repair, when should I turn it off or it will make things worse.

Finally, you should know the principle of the tool you are using. From the original pulley hoisting, You should know which one is to be lifted and how many are enough, now there are some advanced debugging equipment for car repair, four-wheel positioning, and even an X-ray machine.

Software Debugging is also equivalent to repair, but what you repair is some magnetic signals in the memory and CPU. You should also know the basic principles (why can you work), debugging steps in different situations, and how debugging tools are used (only when you know the applicable conditions ).

2. Code self-debuggable.(This is active, it is to prevent problems, from internal discovery, treatment, such as traditional Chinese medicine. Is the software itself, internally)

Analogy:

It is too passive to repair the device after the event. Any device should be able to discover faults, record and perform relevant actions on its own (stop working in time to protect users' work results, and easily find out the problem .)

So,

It is to add some code in the code to prepare for Fault Handling (record the situation, notify the user, diagnose the location and cause), so as to facilitate future debugging.

3. teaching methods and skills(They are all found out ).

In addition to the general things above, there must be many other situations because there are too many things, so there are some empirical things. In other words, some documents cannot be disclosed. Something that is rarely explained. This is not an experience or skill. All you know is what you use in teaching materials.

4. Conclusion:

MasterPrincipleExperienceImportance(Through some instances or situations), learnMethods and toolsLearn to use these methods and toolsExplorationMore knowledge,SolutionMore questions.

------------------------------
Http://591000.cn/bbs/ShowPost.asp? Threadid = 397

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.