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

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

1.找错误原因

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

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

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

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

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

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

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

相关推荐
越学不动啦7 小时前
四、Bug篇+用例篇
软件测试·测试用例·bug·软件工程·测试基础
有时间要学习7 小时前
Test——BUG篇
bug·测试
猫猫头有亿点炸2 天前
电脑连不上手机热点会出现的小bug
bug
不想加班的码小牛3 天前
第4期:重构软件测试体系——生成式AI如何让BUG无所遁形
人工智能·重构·bug·集成测试
limanjihe3 天前
PrimeTime生成.lib竟暗藏PG添加Bug
bug
Java手札5 天前
【bug】Cannot connect to already running IDE instance.SocketTimeoutException
ide·bug
妄想出头的工业炼药师5 天前
pcl 1.14.1 vs2022 Eigen::internal::aligned_free bug
bug
小海海不怕困难5 天前
xxljob阻塞处理策略设置为单机串行导致的bug
bug
Littlehero_1215 天前
关于bug总结记录
bug
深度Linux6 天前
告别代码Bug,GDB调试工具详解
linux内核·bug·内核调试