改bug的乐趣】的更多相关文章

一直以来,我都不喜欢改bug,不管是自己的,还是别人的.因为我不相信自己的代码会出现问题,一旦出现问题我就会觉得很难堪,因为我觉得我的代码没什么问题.然后我就不知道该怎么来解决这些问题. 最近这一两次,我倒是改了一两个有意义的bug,一个是对象是引用,所以不能直接修改值,否则会对之后的数据产生影响,一个是多线程操作一个对象的时候要加锁,这是我改的比较有意义的两个bug.…
程序员的日常三件事:写Bug.改Bug.背锅.连程序员都自我调侃道,为什么每天都在加班?因为我的眼里常含Bug. 但是真的有这么多Bug要改吗?就不能一次改完吗? 程序员听这问题后要拍键盘了,还!真!不!能! 用户使用场景的不确定性 在日常生活中,即便每个物品都有使用说明书,可一千个用户就有一千种使用方式.例如用诺基亚手机砸核桃,用iPad当切菜板,所以说程序是确定的,但用户的使用场景是不确定性的. 各种不按套路出牌的操作会给系统带来挑战,例如网上有个段子说: 一个人走进一家酒吧,要了一杯啤酒一…
曹工改bug:cpu狂飙,old gc频繁,线程神秘死亡连环案件调查报告 前言 前两天,访问开发环境上一个java服务,发现一直转圈圈,因为我开着fiddler,可以看到的现象是,接口一直没返回:本来想着直接jenkins重新构建一下开发环境(即重启服务),突然觉得,还是看看到底啥情况吧. 排查过程 登录到开发环境上(8核16g,centos 7),来了一圈常规操作,结果执行top发现,cpu占用竟然高达400%,然后按照标准流程,那肯定就是查看该进程内占用cpu高的线程是哪个: top -H…
前言: 工作中,有使用过乐动ld06款激光雷达,此款雷达将常规雷达的转动的电机部分内置于自己的保护罩内,减少了雷达本身转动积灰等其他外界影响,探测半径是12m,是一款不错的雷达. 不过今天的主要内容不是介绍该雷达的性能,而是分享我在使用该雷达过程中,在进行项目开发中,发现一个在官方SDK中隐藏的问题,这个问题,在使用过程中,导致了进程的崩溃. terminate called after throwing an instance of 'std::bad_alloc' what(): std::…
android软件简约记账app开发day08-时间对话框的书写+改bug,改bug 绘制对话跨页面 在添加记账信息功能中,我提供了用户添加备注添加事件的功能,设计是点击时间会弹出一个时间对话框供用户选择时间,这里我们先绘制时间对话框,在layout中新建一个layout文件,命名为dialog_time,其中使用到了提供好了类DataPicker来展示日历效果,代码如下 <?xml version="1.0" encoding="utf-8"?><…
当你接到一个修复一个代号101的bug的任务时,很自然地,你想创建一个分支issue-101来修复它,但是,等等,当前正在dev上进行的工作还没有提交: 并不是你不想提交,而是工作只进行到一半,还没法提交,预计完成还需1天时间.但是,必须在两个小时内修复该bug,怎么办? 幸好,Git还提供了一个stash功能,可以把当前工作现场"储藏"起来,等以后恢复现场后继续工作: $ git stash 现在,用git status查看工作区,就是干净的(除非有没有被Git管理的文件),因此可以…
---恢复内容开始--- 今天改了半天参数,后来发现原来是表设置错了,于是决定总结出遇到BUG时的方法,等下次再遇到BUG时,过一遍每个方法就会减少解决BUG的时间,话不多说,写 ①检查表.数据库是否设置正确 ②ID不要凭记忆,每个表的ID不一样 ③css或者js文件是否加载 ④使用方式是否出错,没有引用jquer却用jquery的方法 ⑤修改了半天form ,原来一个网页里好多formID 一样 ⑥数据在WEB没有出来可能是样式问题 ⑦数组是从0开始的 ---恢复内容结束---…
+(NSDictionary *)replacedKeyFromPropertyName { return  @{ @"doctorId": @"id" }; } [SVProgressHUD showErrorWithStatus:response.message.length > 0 ? response.message : ERROR_MSG_NONETWORK]; // 网络问题提示 thirdLabel.preferredMaxLayoutWidth…
一.介绍 最近一直在做有关JavaScriptCore的技术需求,上周发现一个问题,当在JavaScriptCore在垃圾回收时,项目会有一定几率发生崩溃.崩溃发生时调用堆栈如下: 图1 调用堆栈 先对上图中两个比较重要的堆栈过程做个说明: 图2 生成JSValue 1).toJSValueInContext:方法是通过JSObjectMake 再生成一个JSValue.如上图中,最终返回的是一个JSValue,并且这个JSValue对self(PHOValue类型)做了一次强引用. 图3 该J…
*问题原因:* 问题出现的原因.*解决方法:* 问题的解决方案.*影响分支:* 影响哪些分支. *相关修改:* 具体的修改文件列表.*自测结果:* 自行测试了哪些用例,将大概步骤描述出来. *影响功能:* 影响哪些功能模块.QA回归bug时,要全覆盖功能模块相关的测试案例. *测试重点:* 指导QA回归bug时需要关注的测试重点.*兼容性:* 是否兼容之前的AC版本,是否兼容AP版本.…