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

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

1.找错误原因

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

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

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

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

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

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

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

相关推荐
初圣魔门首席弟子1 天前
Qt自定义控件bug记录
bug
l1t2 天前
duckdb数据库CROSS JOIN LATERAL 中使用 EXISTS子查询的一个bug
数据库·bug
Zsh-cs2 天前
苍穹外卖day11销量TOP10商品展示,前端有商品名字但无销量(已解决)
bug
数字芯片实验室3 天前
仿真器出bug了?分频时钟竞争的诡异仿真现象
fpga开发·bug
Zsh-cs3 天前
苍穹外卖day9前端订单分页查询后订单菜品不展示(已解决)
bug
北数云4 天前
北数云内测|AI 需求发布区 + Bug/建议长期征
bug·模型·智能体
天上掉下个牛霸天5 天前
Bug悬案:技术侦探如何破案
bug
f***24115 天前
Bug悬案:程序员破案指南
bug
e***98575 天前
Bug破案现场:技术团队的悬疑推理秀
bug
数字芯片实验室5 天前
边界值测试:一个”==”引发的芯片bug
fpga开发·bug