墨盒飞飞 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 preLaunchTask"C/C++: aarch64- apple-darwin22-g++-14 生成活动 文件”已终止,退出代码为-1。
  • ¥18 关于#贝叶斯概率#的问题:这篇文章中利用em算法求出了对数似然值作为概率表参数,然后进行概率表计算,这个概率表是怎样计算的呀
  • ¥20 C#上传XML格式数据
  • ¥15 elementui上传结合oss接口断点续传,现在只差停止上传和继续上传,各大精英看下
  • ¥100 单片机hardfaulr
  • ¥20 手机截图相片分辨率降低一半
  • ¥50 求一段sql语句,遇到小难题了,可以50米解决
  • ¥15 速求,对多种商品的购买力优化问题(用遗传算法、枚举法、粒子群算法、模拟退火算法等方法求解)
  • ¥100 速求!商品购买力最优化问题(用遗传算法求解,给出python代码)
  • ¥15 虚拟机检测,可以是封装好的DLL,可付费