遖匬 avatar

print调试加了还是找不到问题

代码结果不对,加了一堆print打印中间值。打印出来看,每个变量在每一步的值都对,但最后结果就是错的。有时候print太多,输出一大堆,反而更看不出问题在哪。print调试到底该怎么用,打印什么内容才有用,怎么组织输出才能快速定位问题?
举报
风险提示:用户发表的所有内容仅代表其个人观点,不代表本站的立场,请勿用作决策之依据。
所属分类 电脑编程
回答数量 1
问题状态 讨论中
参与回答

有经验或补充信息?可以围绕问题本身给出清晰、具体的答案。

我要回答

热门回答

共 1 条回答
  • 不妨 avatar
    2026-05-20 进行了回答
    我遇到过这种情况——打印全对,结果全错,后来发现是打印时机不对,或者变量在打印后被悄悄改了。现在我会在关键节点只打三样东西:输入参数、返回值、以及任何会跨函数流动的数据,格式固定成"函数名: 变量=值",方便 grep 过滤。如果输出太多,就加个条件判断,只在异常分支里打印,或者直接把日志写进文件慢慢看。最隐蔽的 bug 往往是时序问题,试试在循环里加索引打印,看第几轮开始跑偏。