编程过程中出现bug如何应对?

编程过程中出现bug如何应对?

1.找错误原因

  • 如果完全不知道出错的原因,或者说存在着很多错误的有原因,----》控制变量法

例如,昨天我在使用torchrun 多卡并行一个程序的时候,出现了大量的bug, 于是我将报错信息放在网上搜索,网上给出的答案无法帮助我解决问题。因为虽然别人得到的报错消息和我的是一致的,但是别人报错的原因和我的原因可能是不一致的。

于是今天早上我来到了实验室之后,便想到仅使用单卡运行一下试一下,看能否跑通,结果运行成功了。

由此表明,程序运行错误完全是因为多卡并行的问题。于是,错误的原因就被我们定位了。

  • 如果知道错误的原因,就可以进行debug, 包括单步调试,或者打印出来看等等。

后记: 如果实在到了晚上还找不到错误原因,果断放弃,回去睡觉,说不定第二天早上就能够找到原因解决问题了。

之所以晚上一直不想回去想继续debug的一个原因是担心明天也想不出来。但是真相是:明天上午想不出来的事情,今天晚上肯定也是想不出来的。。所以好好照顾自己,回去睡觉。

相关推荐
hello_2504 天前
bug排查思路大纲
bug
秃头小饼干4 天前
关于Bug排查日记的技术文章大纲
bug
烧冻鸡翅QAQ4 天前
测试中的Bug
bug·测试
云和数据.ChenGuang6 天前
java常见SSL bug解决方案
java·bug·ssl
cat_with_cat6 天前
测试:BUG篇
bug·测试
黑客飓风6 天前
Bug排查日记的技术
bug
Wiktok6 天前
[Wit]CnOCR模型训练全流程简化记录(包括排除BUG)
python·深度学习·bug
玄尺_0076 天前
bug:uniCloud报Business Failed, 参数有误retry invoke error
数据库·bug
程序猿阿伟6 天前
《云原生边缘与AI训练场景:2类高频隐蔽Bug的深度排查与架构修复》
人工智能·云原生·bug
夕阳UPdz7 天前
深入探索 Unity 错误排查过程:从“滚动条问题”到“鼠标悬浮异常”
bug