墨盒飞飞 2018-10-27 09:34 采纳率: 100%
浏览 2003
已采纳

如何在 生产环境 找bug

新手 业余c# 程序员一枚 平常会写一些 小程序 给自己用
程序 出现 bug 的时候 自己也会调试,找到bug也很快.

            今天我自己写的小程序 在自己电脑上运行没问题 ,发给朋友的时候 打开直接就提示 停止运行
            虽然后来找到了bug(我在朋友电脑上装了 vs2017 在他的机器上调试) 但是这种直接没有 任何提示的错误 ,我应该快速 定位bug 在哪 ?不可能次次都在别人机器上装 IDE 吧.

            远程调试也费劲 我们都是内网.
  • 写回答

3条回答 默认 最新

  • threenewbee 2018-10-27 10:58
    关注

    (1)编写单元测试,对你代码的每个函数和模块,在每次生成的时候都要测试,如同在造一栋房子,需要先测试每一块砖是不是合格,然后才能组装。
    (2)运用断言和异常,异常信息要写明确,切忌来一个try...catch把异常吃掉,导致系统进入不可意料的状态。在某些重要的节点用断言,比如说某个参数不允许null,结果不可能在某个范围外,都要加以判断。
    (3)加上日志输出,这样出现错误,可以明确看到代码运行了哪一步,可以缩小排错的范围。
    (4)自动化UI测试和回归测试。如果遇到bug,要尽量找到复现错误的步骤,并且写出UI测试用例,然后修改bug后都要跑一次,避免代码退化。
    (5)良好的架构设计,避免核心代码反复修改,便于错误隔离。

    如果问题得到解决,请点下我回答右边的采纳,谢谢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题