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
个错误.所以,真的是耐心
大比拼啊.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现