墨盒飞飞 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 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀