3月2日运行时错误

记录,运行时如何调试错误,
主要是库错误,调用方没问题.
调试时,最重要的是找到问题所在.所以基本上,很多地方都要打印,而别人是打断点.你就得输入打印,基本上,每个可能犯错的地方都要打印一下.
犯错的最主要原因,就两点:1,新写的函数,2,新改的函数.总之,越是新的东西,如果未测试,使用时,就很可能有问题.所以,仔细检查新东西,对新写函数,新修改函数加个标记,表示要仔细观察.
这次,就非常明显.我了个库函数,结果未注意到逻辑改错了,少加了一个中(返回),结果跳到后面去执行了,所以,就犯错了.所以越是依赖的库,越是要稳定,修改时,越要多看几遍.看看修改对没有.
还有就是新复制的原来的代码,结果原来的代码有问题.坑人.所以要改.改的时候,还有一个天坑没注意到.就是当中的猜.一个断不出循环的.下面是错误的:

    当(1){//是变量,猜,要常量
        如(尾)断;d=看();右();
        猜(d){
        若'\\':右();下;
        若 M:i++;下;
        若 N:i--;如(!i)断;//这里一个断,没用
        }//注意,这里的中.
    }//已大量修改.

可以这样改:

    当(1){//是变量,猜,要常量
        如(尾)断;d=看();右();
        猜(d){
        若'\\':右();下;
        若 M:i++;下;
        若 N:i--;如(!i)中;//改为中
        }//注意,这里的中.
    }//已大量修改.

或这样:

    当(1){//是变量,猜,要常量
        如(尾)断;d=看();右();
        猜(d){
        若'\\':右();下;
        若 M:i++;下;
        若 N:i--;如(!i)断;//1个断
        }//注意,这里的中.
        断;//再断.这样就可以跳出循环了.
    }//已大量修改.

不然,跳不出循环,意思就错了,错了,又怎么能够完成你的任务呢?
现在回过来看,感觉没啥了,因为你调试了.但你调试过程,则,很难找到漏洞,你花了几个小时来找.到处都是打印.真的是崩溃.找到漏洞解决问题更难.
还有一个n=啊.讲();就是给出位置,但啊.置(n);重置位置的时候,你就要小心啊,该重置在哪个地方.上一句你不能到处复制啊.你一复制,最后的就搞错了,所以,就犯错了.这样的细节都要小心.
主要就是调试过程中,要多打打印,类似多打断点,人家用鼠标点,你就多一步Y,然后多来几个p嘛.不要怕麻烦,但位置还是要主要放在新增函数/新改函数上.先找到错误点,这步最重要.找到漏洞就解决了大半问题了.要重点检查新增/新改函数上.看看是不是有逻辑错误.
一个程序,3/4个错误,你没找到之前,真的是崩溃的,而且,你以为找到一个就了,太天真,还有!!!就像上面一个小程序一样,不长.结果,就有3/4个错误.所以,真的是耐心大比拼啊.

posted @   zjh6  阅读(8)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示