当前位置:网站首页>How to adjust bugs in general projects ----- take you through the whole process by hand
How to adjust bugs in general projects ----- take you through the whole process by hand
2022-07-05 05:40:00 【Falling spring is only inadvertently】
transfer bug technological process
- One 、 Run code , Find the error .
- Two 、 Find the error location .
- 3、 ... and 、 If the annotation works normally , Then there is an error in the commented part ( This is the most desired result );
- Four 、 So I thought it should not be the pot here , Then we will main The start of the call in the function .
- 5、 ... and 、 Generally, compilers have , View definition , Jump to the defined function , To a large extent, this allows us to quickly find bug.
- 6、 ... and 、 Similar to method 5 , Find the problem of calling functions in this function , Or the problem of the function itself
- 7、 ... and 、 Last question , Focus on one if In the sentence
- 8、 ... and 、 Because it's a file stream , I'll try if I read something , Or the file did not open successfully ,
- Nine 、 This analysis is over , I hope that helps
The example only tells you how to find bug, Will not be too specific bug The solution of the . because bug Too much , There are many solutions . The most important thing is to find bug.
Let's take a real case to lead you to experience .
One 、 Run code , Find the error .
( In this step , Understand the prompt to report an error , Generally, compilers are more or less , If you don't understand it, you can assign a value and paste it into CSDN Check to see if anyone has the same error report )
In this error report , I extracted the entry point ,( As shown in the above figure, the part with red lines ).
Two 、 Find the error location .
First, let's see if there are obvious grammatical errors , If you can't see . Try to comment out this part to see if there will be errors ( The key ).
No obvious mistakes were found , So I tried to comment it out , Be careful not to make mistakes when commenting .( That is, comment out the root related to this code , Therefore, it also reflects that we should try to integrate the reused code into a function ).
Associated with what it wants
3、 ... and 、 If the annotation works normally , Then there is an error in the commented part ( This is the most desired result );
without , ( Here's the picture , The same mistake , I feel evil ...) So paste the wrong assignment , Search and see
The search results are as follows , It would be best if we found the same , If not ....( This blogger just doesn't , Dry face )
However, it seems to be mentioned in these similar results new . At first, I thought the template class was written incorrectly ( After all, the template class is difficult for most heroes ). Then the whole header file and the corresponding cpp It's annotated ( Later, I found that this idea was wrong , Don't learn from bloggers )
People are tired of commenting , It's better to sleep for a while and clear your mind . (⊙o⊙)… Get down to business .
Four 、 So I thought it should not be the pot here , Then we will main The start of the call in the function .
First, comment out all , See if there's any more , There is also the compiler problem . Then liberate one by one to find the function in question .
Pictured above , After doing this , Found to be Here's the picture
5、 ... and 、 Generally, compilers have , View definition , Jump to the defined function , To a large extent, this allows us to quickly find bug.
( Here's the picture )
6、 ... and 、 Similar to method 5 , Find the problem of calling functions in this function , Or the problem of the function itself
( Did I mention the called function again here , Therefore, modularization of functions is conducive to our adjustment bug)
7、 ... and 、 Last question , Focus on one if In the sentence
continue
It's inside The problem of two sentences , Then analysis , It is definitely not the fault of the following statement alone , Because if there is no It must be wrong to assign a value when applying for space . And the first sentence has new , Think of the previous search results . I just wonder if new The question of .
First, I tried to become malloc . It turns out , Take a look at this blog and you will know that you can't do this , Also have to new . Why not malloc
After that ? I thought about it , Since it's right to apply for a space , After applying for space , The assignment of the second statement is wrong . assignment ( Is this sentence very simple ...), The operation process of assignment is no problem , that , There is only one truth , That's it Used for assignment temp There is a mistake .( Finally found , That's true )
8、 ... and 、 Because it's a file stream , I'll try if I read something , Or the file did not open successfully ,
Good guy, if you don't try, you don't know. Try and be surprised . It turned out that the file couldn't be opened () I'm impressed . This also tells us that we must add a command to check whether the file has been opened .
Nine 、 This analysis is over , I hope that helps
边栏推荐
- Sword finger offer 53 - I. find the number I in the sorted array
- 用STM32点个灯
- 搭建完数据库和网站后.打开app测试时候显示服务器正在维护.
- Introduction to convolutional neural network
- 软件测试 -- 0 序
- [jailhouse article] performance measurements for hypervisors on embedded ARM processors
- 每日一题-搜索二维矩阵ps二维数组的查找
- [es practice] use the native realm security mode on es
- Daily question - Search two-dimensional matrix PS two-dimensional array search
- A problem and solution of recording QT memory leakage
猜你喜欢
[article de jailhouse] jailhouse hypervisor
Hang wait lock vs spin lock (where both are used)
剑指 Offer 53 - II. 0~n-1中缺失的数字
Corridor and bridge distribution (csp-s-2021-t1) popular problem solution
SAP method of modifying system table data
【Jailhouse 文章】Look Mum, no VM Exits
Using HashMap to realize simple cache
API related to TCP connection
Sword finger offer 53 - I. find the number I in the sorted array
剑指 Offer 05. 替换空格
随机推荐
object serialization
SSH password free login settings and use scripts to SSH login and execute instructions
Add level control and logger level control of Solon logging plug-in
The number of enclaves
MySQL数据库(一)
Reader writer model
卷积神经网络——卷积层
Analysis of backdoor vulnerability in remote code execution penetration test / / phpstudy of national game title of national secondary vocational network security B module
kubeadm系列-02-kubelet的配置和启动
Add level control and logger level control of Solon logging plug-in
【云原生】微服务之Feign自定义配置的记录
How many checks does kubedm series-01-preflight have
shared_ Repeated release heap object of PTR hidden danger
网络工程师考核的一些常见的问题:WLAN、BGP、交换机
AtCoder Grand Contest 013 E - Placing Squares
Graduation project of game mall
ALU逻辑运算单元
sync.Mutex源码解读
On-off and on-off of quality system construction
剑指 Offer 06.从头到尾打印链表