科学网

 找回密码
  注册
科学网 标签 bug 相关日志

tag 标签: bug

相关日志

Fundebug 微信小游戏异常监控插件更新至 0.5.0,支持监控 HTTP 慢请求
stefanzan 2019-8-8 11:15
摘要: 支持监控 HTTP 慢请求,同时修复了记录的 HTTP 响应时间偏小的 BUG。 Fundebug 是专业微信小游戏 BUG 监控服务,可以第一时间捕获线上环境中小游戏的异常、错误或者 BUG,及时给开发者推送报警,帮助您快速修复 BUG。 Fundebug 的微信小游戏BUG监控插件更新至 0.5.0 ,新增 httpTimeout 配置选项,支持监控 HTTP 慢请求,同时修复了记录的 HTTP 响应时间偏小的 BUG,请大家及时更新! 监控 HTTP 慢请求 Fundebug 专注于 BUG 监控,暂时无意于提供全面的性能监控服务。但是,当 HTTP 请求过慢,导致用户体验很糟糕时,也可以理解为一种广义的 BUG。HTTP 请求的性能问题,可能是代码的算法不够好导致的,有可能是数据库的索引不合理导致的,还有可能是其他原因,这些都是技术层面的”BUG“,需要开发者及时处理。 当然,监控所有 HTTP 请求的响应时间不是我们 Fundebug 需要做的事情,因此我们只支持监控慢请求。用户只需要配置一个阈值 httpTimeout ,所有响应时间超过阈值的 HTTP 请求都会上报的 Fundebug,这样可以帮助开发者发现一些慢请求,及时优化性能。 微信小游戏配置选项 networktimeout 根据微信小游戏的开发文档, 网络请求 的默认超时时间是 60s,用户可以通过配置 networktimeout 来自定义。如果某个 HTTP 请求的响应时间超过这个阈值的话,则该请求会出错,Fundebug 也会上报这个超时错误。但是,networktimeout 不能配置的太低,否则超时的请求都会失败,这并不合理。所以配置 networktimeout 并不能实现监控 HTTP 慢请求的目的。 httpTimeout 监控 HTTP 慢请求的正确方式是通过 Fundebug 的配置选项 httpTimeout 来实现。 httpTimeout 类型为 Number,单位为毫秒(ms)。 如果你希望监控较慢的 HTTP 请求,则可以通过 httpTimeout 配置阈值,比如 1000: fundebug.init({ httpTimeout: 1000 }); 则所有响应时间超过 1000ms 的HTTP请求都会上报到 Fundebug。 参考 Fundebug 文档 - httpTimeout 关于Fundebug Fundebug 专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java线上应用实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了20亿+错误事件,付费客户有阳光保险、核桃编程、荔枝FM、掌门1对1、微脉、青团社等众多品牌企业。欢迎大家 免费试用 ! 版权声明 转载时请注明作者 Fundebug 以及本文地址: https://blog.fundebug.com/2019/08/05/fundebug-wegame-0-5-0/
1551 次阅读|0 个评论
微信七宗罪
flysky97 2019-2-22 17:27
微信七宗罪 文/齐云龙 一、分组不便;——相对于QQ的好友分组显示,分组群发功能来讲,微信功能这一点简直弱爆了…… 四、微商广告与朋友圈划分不清,大量广告充斥,占用用户大量宝贵时间; 五、公私不分,易被用户滥用; 六、文章删除后还会保留痕迹,用户打开链接才发现——已删除! 二、审核大权独揽,出问题一删了之; 三、认证收费成摇钱树,实际无所作为; 七、置用户言论于监控之下;
个人分类: 人文|2 次阅读|0 个评论
旧博文中一个小巧的重要失误
SciteJushi 2018-8-29 10:43
博文《从邵逸夫奖经MRI笼式线圈到奇异向量之乱》(2014-06-20, http://blog.sina.com.cn/s/blog_729a92140101qbuc.html )有句 2013至2014年,同事企图做化学位移成像的研究时,与居士神吹胡侃过此类。 这里有了“关键”Bug!以前没发现,今晨看旧备份,一下就注意到了。 实际上,2013和2014年,居士一直在乡下老家(PRC 629207)。 当然,那个时间与前后文和标题的意味,明显不合。时间,应为2003、2004;地点,在CMU。幸好,居士已有些机会申明了,主要经历和所在地。 在科学网,2017年下,博文被屏蔽了,这让人一看就知。上传不了图片,甚至,试插入图片后,在图片后的原已正常的文字,也随之不见了,这种问题绕不过去,容易被发现。过去,曾在博文中贴程序源代码,结果有时在显示中某些字符自动变了(格式可能不兼容),甚至有些语句不全了,这也较明显,居士就可能较快处理,如试换语句,把它复制回来,重运行。 但是,类似上述的时间的失误,容易被忽略,造成某些麻烦。作为新浪网的赛特(Scite,有时键入了塞特)居士(Jushi)的博文的独立且唯一作者,也是其唯一的科技研发者,对种种缺陷,感到抱歉。如果那些博文有功绩与光荣,就把它们归于天恩地德;若有缺陷或致惩罚,则把其罪留与居士——唐白玉!假如,能赚回点儿商业收益的话,那就给新浪,算作版面费和维护费。 记得,那个同事姓名发音是“荣光弟”,人们叫他KT(台湾拼法。类似地话,可叫居士BY。方便老外发音)。他是MRI方面的诺奖得主的华裔学生。 居士在CMU的“两年”中,他常来Lab做“自愿”(似乎一直无报酬)研究,晚上还可能加班,想做针灸、CSI、RF线圈,写过MRI鸟笼线圈与经络的论文。娶个老外,离了。一儿一女,那时都还是漂亮小孩,有时会随他来Lab玩。 似乎Lab老板的意思是:他要自己申请到可行的项目,才能有正式职位。但要有个研究职位和资助项目,太不容易了。居士希望他一直还好,别因这里提到他的姓名而受伤害。 居士不确定,毕达哥拉斯自以为发现勾股定理时,为何宰牲以酬谢神的启示;没亲耳闻,商高与周公讨论规矩勾股径;更未亲眼见,大禹依靠规矩准绳治水,伏羲如何作天文测量历法。不过,文献说的准绳、女娲伏羲手执规矩图,会使居士回想起,儿时老家那些工匠常用的墨斗、弯尺;小时候,就学说“勾3股4弦5”;写博文时,脑海中常隐约现它们的古韵朴影。奇异值分解及其应用,可借它们简化理解。 奇异值分解的算法质量和应用,是重要的事情。但是,费解的是,其文献资料也有点似乎早就不该的乱。有消息说,Google有奇异值分解的并行算法。居士曾试图进入Scilab的SVD源代码,运行命令edit svd,但是被告知不可能(edit: svd is an uneditable hard coded function)。 2014年6月20的博文,之所以提到奇异值分解的问题,更因为它已经关系到居士的麻烦、困惑、模糊地受迫害狂想: 1).曾写的关于线圈设计的初稿中的图片的生成程序,不能重现用了奇异值分解的旧图,但都可能合理(不宜想“学术端不端”,因为几页在CMU之前虽已写好,但只有自己个人看过,连老板和同事都该没见过,这样,为何要不端呢)。 2).极点估计的状态空间算法,只用数据矩阵的奇异向量,而抛弃了奇异值。受影响如何呢? 3).假设,某些东西,如基本工具、可重复性问题、SCI“虚荣”等,被劫持、操控、利用,那么其结果是什么呢?问一问,用的什么?做了什么?写了什么?多少多久纠缠有积极意义,或许损耗?谁获利?谁正谁邪? 4).已假设有更大麻烦,就可视CMU等的Lab是居士的“殉葬品”,这可以解释:为何离奇地非要把某些明显的混账强加给居士,而某些人反而有了功劳似的?别有用心? 5).与小波有关的麻烦已可见于博客中。不过,从居士是学生时起,一直关心的主要是最近邻分类实验尤其直流的影响,而不是离散小波序列和阈值降噪,很久未了解到小波工具箱和Wavelab那样的东西。因其分类结果看起来是最好的,故想把它整得很扎实了,包括把握好问题,那才感觉好! 6).提到奇异值分解、主分量分析、K-L坐标系逼近和降噪以及数据压缩时,把它们与小波包的主意联系起来,这似乎很早不该是困难,那么,工具箱的小波包尤其降噪,好像久陷在某个并不优良的地方,这有何益呢? 7).在相当长的时间内,居士以为随时都可能离世,遇见主动显能者、帮助者或善意的暗示、“指导”,首先假定:来者不善、别有用心,除非有明显格式正当的身份或清楚可信的解释。 这些年,其他人们耳闻目睹了什么呢?谁上前来,面对问题,登台面,沐浴阳光? 请科学网,以大局为重,解除对居士博文的屏蔽? 新浪赛特居士SciteJushi-2018-08-29(这会儿上新浪慢,仅这里了)。
2070 次阅读|54 个评论
访谈中出现了一个Bug
jiasf 2018-6-21 02:29
前段时间接受了美国Wilson Center的环境变化与安全项目博客(The blog of Environmental Change and Security Program)NewSecurityBeat 的Ms. Geng 和Jennifer关于鄂尔多斯市水能源粮食安全的访谈,前几天他们发出来了,今天有时间细看了一遍,发现了一个明显的Bug:竟然出现了鄂尔多斯市要从1500英里之外的新疆巴音郭楞州买水的的话!原来是因为语言交流和地理不熟悉的缘故,把我说的内蒙古的巴彦淖尔市误会成了新疆的巴音郭楞州!也难怪,两个地名本来就有点类似,从我的嘴里说出来估计更分不清!刚才告诉他们,他们说马上修改。 Limited Water for Unlimited Development: QA With Shaofeng Jia https://www.newsecuritybeat.org/2018/06/limited-water-unlimited-development-qa-shaofeng-jia/
个人分类: 水是杂谈|2175 次阅读|0 个评论
科学网博客的一个Bug
热度 2 lhj701 2018-5-27 07:36
科学网博客的一个Bug 科学网博客的编辑器应该存在一个Bug。如果博文的内容过长,行数过多,当你编辑好,保存后,显示的内容是空白的,原来的内容消失的无影无踪。 曾经为了发表一篇博文,来回倒腾了3,4次,后来终于发现,只要行数过多,编辑器就没有任何警告的当掉了。 不知道,其他博友是否遇到了这个问题,是如何解决的?
个人分类: 观点建议|2346 次阅读|4 个评论
科学网升级系统后的一个Bug——可能你的博客没有被封
热度 1 flysky97 2017-12-8 13:59
科学网升级系统后的一个Bug——可能你的博客没有被封 文/齐云龙 如果最新博文有10篇设置为隐藏,则博文框内显示:—— 没有博文 …… (刚开始还以为我的博客也被封了呢,纳闷呢) 如果点击其中的 ——博文 刚链接到博文列表,显示如下:( 最下端提示有多少篇为隐藏或者未通过审核的 ) 另外,如果最新一篇博文设置为只有好友可见,刚会显示——无权查看;
个人分类: 科技|2397 次阅读|3 个评论
Pytorch--bugs when training
gll89 2017-11-2 00:45
Epoch 0/2 ---------- Traceback (most recent call last): File cluster_resnet.py, line 210, in module train_model.train() File cluster_resnet.py, line 174, in train self._train_epoch(epoch) File cluster_resnet.py, line 134, in _train_epoch for data in self.dset_loaders : File /home/linlin/anaconda2/lib/python2.7/site-packages/torch/utils/data/dataloader.py, line 201, in __next__ return self._process_next_batch(batch) File /home/linlin/anaconda2/lib/python2.7/site-packages/torch/utils/data/dataloader.py, line 221, in _process_next_batch raise batch.exc_type(batch.exc_msg) TypeError: Traceback (most recent call last): File /home/linlin/anaconda2/lib/python2.7/site-packages/torch/utils/data/dataloader.py, line 40, in _worker_loop samples = collate_fn( for i in batch_indices]) File /home/linlin/anaconda2/lib/python2.7/site-packages/torchvision-0.1.9-py2.7.egg/torchvision/datasets/folder.py, line 118, in __getitem__ img = self.transform(img) File /home/linlin/anaconda2/lib/python2.7/site-packages/torchvision-0.1.9-py2.7.egg/torchvision/transforms.py, line 34, in __call__ img = t(img) File /home/linlin/anaconda2/lib/python2.7/site-packages/torchvision-0.1.9-py2.7.egg/torchvision/transforms.py, line 156, in __call__ t.sub_(m).div_(s) TypeError: sub_ received an invalid combination of arguments - got (numpy.float32), but expected one of: * (float value) didn't match because some of the arguments have invalid types: (numpy.float32) * (torch.FloatTensor other) didn't match because some of the arguments have invalid types: (numpy.float32) * (float value, torch.FloatTensor other)
个人分类: DeepLearning|3665 次阅读|0 个评论
iraf hedit命令有bug?
margin 2017-9-27 15:29
最近处理丽江的观测数据,丽江的原始数据里面没有光谱色散方向的关键字,为了方便,手动用hedit把关键字写到原始文件里。然后, 发生错误了。 因为丽江的原始数据有两个hdu,直接把关键字写到第二个hdu里就会出现上述错误,但是如果写到第一个hdu就一切正常,不知道是不是hedit的bug
2914 次阅读|0 个评论
我是这样搞懂一个神奇的BUG
stefanzan 2017-9-6 15:30
摘要: 通过分析用户的行为,才想得到为什么会出现这种情况! 前两天在BearyChat收到这样的一个报警消息: 409 ? Conflict ? 平时很少遇到这样的错误,貌似很严重的样子,吓得我赶紧查看到底发生了什么。 仔细查看错误详情发现是因为使用同一个邮箱账号多次注册导致后面的请求数据库直接报错。 但是,不应该啊!我们是事先有做检查的。如果该邮箱已经被注册,会提醒并且不让注册的。难道对方是个黑客,直接调用API发请求?如果是这样那就更加危险了,我们已经被黑客盯上了! 可是这样做对黑客也没什么好处啊,并且IP显示为国内地址,如果真的是黑客好歹用国外的地址吧。想了想,还是仔细分析到底出了什么问题吧。 再往下一看,发现自己完全是多想了。如果是黑客的话,下面的用户行为就把他给完全暴露了! 这些用户行为记录默认按照倒序排列,我们可以从下往上一条条看用户的使用轨迹。通过用户行为可以得知出错前的整个操作流程: 打开我们网站的首页 点击“免费试用“进入注册页面 输入邮箱 输入密码 再次出入密码 点击创建团队 点击创建团队 团队创建成功 报错 那么问题来了:有没有什么异常的行为? 答:有!他点击了创建团队两次。 凭着我敏锐的嗅觉意识到可能是由于用户快速点击”创建团队”按钮两次导致。通过时间记录发现第一次点击是在1.86m,第二次在1.87m。也就是说:用户在很短的时间内快速点击了两次。 刚刚的用户行为记录过滤了网络请求,接下里我们结合网络请求一起分析: 可以发现有两个/members/email的GET请求,并且都成功返回404,这里代码的意思是指该邮箱尚未被注册,可以被使用。一个/members/create请求成功返回200,表示账户创建成功。最后报错的/members/create请求失败返回409。 到这里基本确定出错原因就是由于用户快速点击创建团队导致。 有没有这种可能呢,尝试复现一下看看呗!于是,我打开了注册页面,输入邮箱和密码,然后以超快的手速点击创建团队N次。哈哈哈哈,不出所料,被我成功复现了! 只要能够成功复现,这个BUG基本上就算被解决了,接下来就是去分析如何优化代码防止出现这种情况了。有两个思路:1. 用户点击之后,设置被点击的按钮无效直到点击请求完全被处理;2. 将验证邮箱是否存在的和创建团队两个异步事件想办法合并为一个原子操作。综合考虑,决定使用第一种方案。因为实现简单,对现有代码改动不大。 总的来说:当在没有堆栈信息或者报错信息难以理解的时候,Fundebug记录的用户行为真的很有用。五星推荐前端开发接入到项目中! 版权声明: 转载时请注明作者 Fundebug 以及本文地址: https://blog.fundebug.com/2017/09/06/fundebug-user-behavior-help-debug/
个人分类: debug|1936 次阅读|0 个评论
你还在等着用户反馈BUG?
stefanzan 2017-8-30 14:49
译者按: 等待用户反馈BUG,一切都晚了!实时监控线上应用才是王道。 原文: Why relying on your users to report errors is the dumbest thing you’ll ever do 译者: Fundebug 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。 我们热爱coding。 当我们coding的时候,就如同从零建造一栋大楼。新的特性、新的功能、绝佳的设计都在每一次更新后被用户所使用,期待他们的喜爱和赞美。这样的一个过程让我们感到心灵上的慰藉和拥有为数不多的成就感。 然而,现实并没有想象中美好。 如果debug是移除bug的流程,那么编程就一定是将bug放进去的流程。 软件工程师将大量时间花在了其它事情上。他们需要参加各种会议、讨论需求、制定计划、将现有的冗余代码重构,以及还有一项花费时间很多的工作:修复bug。 我还没有遇到过一位喜欢在代码中去找bug的工程师,大概因为查找和复现一个bug往往要花费很多时间。 一直以来,debug就像大海捞针一样。他们需要亲自去发现问题的原因然后寻找解法,而不是依赖于用户的截屏反馈。 用户的截屏并不能告诉你足够的信息,往往你会问更多。 你用的哪个浏览器,什么版本,操作系统是哪个,可以具体一点告诉我刚刚你是怎么操作的吗,你之前在哪个页面,你是怎么到这个页面的? 就算问了用户这么多问题,也不一定能解决问题。 Debug总是要花很多时间,然而还是一头雾水。 坐等用户反馈真的好吗? 很多开发团队依然依靠用户反馈来改进产品,这其实是很荒谬的。 在快餐连锁店,客户用餐完毕之后,需要自己将没吃完的食物和用过的餐巾纸扔到垃圾桶。快餐店的食物可能一点也不好吃,客户没吃几口就扔到垃圾桶然后直接走掉。除非客户真的是一个爱抱怨的人而且恰好有时间,才会如实评价。否则,你只会认为一个客户吃完饭满意的离开了。 然而,他再也不会来这里吃了! 一些开发者会这么认为:如果没有用户反馈问题,那就代表我们的产品棒棒哒,对不对?认为“如果用户使用产品遇到问题,用户就会反馈”是比较局限的。最终你会发现只有1%的用户会反馈问题,然而事实上多得多。 开发者依靠很有限的信息去尝试debug一个问题,往往不能解决。 你开发的软件并没有你想象的那么完美! 一个在大型线上零售店工作的朋友跟我聊过他们解决公司线上订单系统的一个重大问题的故事。他们经过好几天的排查,都没有发现问题所在。最后决定使用一个专用工具来监控和诊断应用错误。 最终的发现令人惊恐! 八个服务器中的一个内存不足然后报错,导致用户的订单流程失败。也就是说:“每八个用户中有一个收到影响”。 发现和解决这个问题使得一个月的销售额提高了2万美元。事后评估发现总共影响了5000名用户,但是只收到2个用户反馈。虽然解决了bug大家都很开心,但这个错误导致了10万美元损失。 不建议这么做:一出错就给自己发邮件报警 你可以坐在电脑面前盯着错误日志流。当你休息的时候,可以雇一个小伙伴这么做。或则,当异常出现的时候,给自己发报警邮件(貌似是个不错的主意)。直到你真的这么做了,你就不会这么想了! 你需要意识到:对于小的个人项目,一有错误就通过邮件报警还可以。但如果业务量起来了,访问量打了,事情就会变得一团糟: 由于版本以及兼容性,很多错误信息不完整 很难去指定一个报警规则,报警变成噪音 如果一个错误刚好在循环里面,可能一晚上给你发5万封邮件 错误没有优先级或则严重性区别,混在一起 当你查看了超过100封邮件以后,你再也不回去读它们了 你会开始忽略这些邮件,甚至把它们归类到一个单独的文件夹然后发现无从下手而很少去碰。毕竟,从几千封邮件中找到严重的问题并解决很不容易。 ELMAH - 记录程序异常 ELMAH (Error Logging Modules and Handlers) 是一个错误记录服务。它可以动态地加入到一个ASP.NET项目中,而不需要重新编译或则重新部署。ELMAH不支持所有的程序语言,他提供的功能也有点局限。ELMAH适用于小型的个人项目。 专业BUG监控 如果你想认真对待应用BUG,可以使用一个专业的BUG监控服务,比如国外的 Raygun (或则我们 Fundebug )。一个专业的BUG监控服务可以帮你: 通过过滤和排序来定位严重错误 配置多种报警方式,比如邮件、Slack、或则HipChat 使用一个监控服务来追踪多语言多平台 相似错误自动聚合 团队协作齐力解决BUG 如果你使用简单的方案(直接邮件报警),那么你需要停下手头的工作,花费两三个小时去复现一个bug。这是非常浪费时间,非常低效的做法!如果一个团队注重快速迭代,那么他们会愿意为开发者节省花费的debug上的时间,去开发产品的新功能、新特性。 总结 我们希望技术实现自动修复软件BUG。不过,软件自愈依然还有一段距离。你可以使用一些错误监控服务来使得整个debug更加简单和高效。 在你的用户发现问题之前发现,并且不要单纯依赖用户反馈问题! 版权声明: 转载时请注明作者 Fundebug 以及本文地址: https://blog.fundebug.com/2017/08/30/rely-on-users--to-report-error-is-not-good/
个人分类: debug|2246 次阅读|0 个评论
三问助你Debug
stefanzan 2017-8-23 14:59
译者按: Debug也要三省吾身! 原文: Three Questions About Each Bug You Find 译者: Fundebug 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。 你是否发现:有时候,当某个BUG被我们修复之后,却又发现一个由该BUG引发的另一个BUG,或则由于修复算法的缺陷引入新的BUG?因此,每一次修复BUG,我都会问自己三个问题来确保我考虑周全。你也可以使用同样的方法来提高代码的质量。 这些精心设计的问题的核心思想是:每一个BUG都是某个隐藏的核心问题的表象。你需要解决这些表面症状,但如果只是治标,那么终究会在其它地方复发,没有治本;你需要发现导致这个BUG的核心问题,并且纠正它。导致出现BUG的核心问题一般不会随机而无法控制,只要你理解了它为什么会出现以及什么原因导致它出现。 在你对自己提出这三个问题之前,你需要克服自己的惰性,仔细地去分析产生BUG的原因。通过从出现BUG的代码位置开始,一步一步问自己为什么会错,往回倒着查看程序执行步骤,直到你找到出现这个BUG的模式。往往和同事一起Debug会有助于你证实你的假设。 程序异常是因为下标变量J越界了 为什么呢? 数组的长度为10,下标最大为9,但是下标J已经是10了 为什么呢? J是整个数组的长度,但是可索引的下标为9。 在寻找BUG原因的过程中,同时检查一下关键变量的值,看看能否解释在此情况下,变量值为何如此。 为什么name是null? 为什么会打印出一条错误信息? 你需要知道程序到底发生了什么,也就是说要将这些信息度都记录下来方便分析。 现在我们来看是看这三个问题。 1. 这个失误在其它地方有犯过么? 看看代码中其它地方有没有使用过类似的编程方法,通过适当的发散思维也有助于寻找类似的BUG。 其它地方有没有使用数组的长度作为下标? 所有的数组都是源自同一个原始数组吗? 如果数组长度为0,是否会出问题? 尝试描述这段代码应当遵循的逻辑,有BUG的代码会违反该逻辑。 数组起点的初始值加上数组的长度并减去1就是最后一个数组元素的下标。如果数组的长度为0,则不满足。 如果每次修改一个BUG的同时修复了几个其它潜在BUG,将大大提高你的工作效率。尝试将问题用更加抽象的角度去描述将有助于你理解整个程序,以防止引入新的BUG。 2. 在这个BUG后面是否可能隐藏着另一个BUG? 当你已经弄清楚如何修复这个BUG,可以预想BUG修复后的程序行为。BUG代码行之后的语句也可能隐藏着BUG,只是程序以前因为BUG崩溃而没有执行到这一步;或则由于修复可能返回其它值,而以前没有考虑。可以试试向自己提如下问题: 接下来的语句可以成功执行吗? 当你在查看程序的控制流的时候,你可以弄清楚有哪些代码还没有执行过。 我是否测试过这些属性的组合 检查各种属性可能性的组合并不会花费太多工作精力,而且往往会发现很多情况开发者都没有考虑到! 我可以测试出所有错误信息吗? 要注意一个地方的改动可能导致其它地方出现BUG。在局部对一个变量的更改也许会违背之前的一些假设。 如果我只是将J减去1,如果数组的长度为0,那么下一行代码会尝试操作数组中位于-1位置的元素。 如果你已经对程序做了很多修改,每一次都要仔细考虑做法是否正确,甚至需要重新设计和实现这部分代码。 3. 我应该如何做来避免类似的BUG? 你需要尝试寻找方法从根源上解决问题。使用新的方法和工具往往可以直接消除该类型的所有BUG,而不是一个一个去发现和解决。 要找到BUG是什么时候引入的,是否可以在开发阶段避免? 设计没有问题;我在写代码的时候引入了BUG 仔细检查BUG发生的原因,理清BUG发生的代码逻辑,然后看看如何纠正。 定义新的不同的类型来区分数组的索引和长度可以在编译时发现这个错误。(索引类型可以限定索引的最大长度) 每一个数组元素输出的时候都输出对应的下标的计算方法,这样我就可以很快找到问题。 假设你对产生某一个BUG的理由是“变量太多,我只是忘记了”,那么你需要做的是如何改进来保证你不需要记住很多变量。 版权声明: 转载时请注明作者 Fundebug 以及本文地址: https://blog.fundebug.com/2017/08/23/three-questions-about-each-bug-you-find/
1385 次阅读|0 个评论
[转载]Fundebug上线小程序错误监控
stefanzan 2017-1-22 13:20
作为专业的JavaSript错误实时监测平台, Fundebug 的 微信小程序实时错误监测服务 上线啦,我们能够帮助开发者及时,高效地发现并且解决小程序错误,从而提升用户体验。 小程序大时代 后移动互联网时代,创业者们纠结于开发APP还是公众号,而小程序的横空出世,让大家多了一种选择,也给未来增加了更多想象空间。 小程序,正如它的名字,可以理解为迷你版的APP;它生根于微信帝国,因此也可以看作升级版的公众号。准确的说,小程序介于APP的灵活与公众号的轻巧之间,符合国人对中庸之道的信仰。对于那些低频,简单的工具类应用,小程序应该是一个不错的选择。 从技术角度理解,小程序= WXML + WXSS + JavaScrip 。WXML与WXSS只不过是换了个马甲的HTML与CSS,而JavaScript还是那个无处不在的JavaScript。或者说,小程序就是定制版的 HTML + CSS + JavaScript 。对于开发者,小程序没有什么神奇之处,不过是写几个简单的网页罢了。 如果说小程序预示着一个应用轻型化的小时代,那么JavaScript正在开创属于它的大时代,从网页,到后端,到小程序,到APP以及智能硬件… Fundebug为什么监测小程序? 程序员通常是比较自信的,他们坚持 自己写的代码没有问题 。然而,再追问一下自己: 我的代码真的100%没有问题吗? 我做了完整的测试吗? 难道我要花更多的时间没完没了的写单元测试? 有时,用户打开某个页面是空白的: 然后,用户转身离开了:( 那么问题在哪? 小程序在用户的手机上出错了,可是开发者不知道啊; 当有用户反馈问题的时候,其实更多用户已经被坑了啊; 知道出问题了,然而开发者没有出错信息,无从下手啊; 为什么是Fundebug? 小程序在用户的手机上出错了,Fundebug第一时间通过邮件提醒开发者; Fundebug提供详细的出错信息和强大的错误管理面板,帮助开发者快速解决错误; 插件仅282字节,即0.28KB,不到1MB的1/3000; 两行代码搞定; 仅收集出错信息,保护用户隐私,收集systemInfo和userInfo需要开发者进行配置; 如何使用Fundebug? 1. 下载Fundebug微信小程序插件 fundebug.0.0.3.min.js 微信小程序不支持导入外部JavaScript文件,因此需要手动下载,然后放到项目目录内。 2. 在app.js中引入fundebug并配置apikey: var fundebug = require ( './libs/fundebug.0.0.3.min.js' ) fundebug.apikey = API-KEY ; ./libs/fundebug.0.0.3.min.js为相对于app.js的路径 。 获取 apiKey需要 免费注册 帐号并且 创建项目 。 3. 将 https://fundebug.com 添加到 request合法域名 具体步骤请查看 Fundebug文档 原文链接: https://blog.fundebug.com/2017/01/23/fundebug-support-wxjs/
个人分类: debug|1992 次阅读|0 个评论
[转载]有浏览器的地方就有Fundebug
stefanzan 2017-1-19 20:36
Fundebug 已经全面支持主流浏览器啦! 对于前端开发者,兼容各种浏览器是一件非常痛苦的事情。在搜索框中输入关键字 JavaScript浏览器兼容 ,结果是这样的: IE和Firefox的Javascript兼容性总结 JavaScript中浏览器兼容问题 JavaScript初学者建议:不要去管浏览器兼容 … 有浏览器的地方就有Fundebug Fundebug 是前端JavaScript错误实时监测平台,经过大量兼容性调试,Fundebug的JavaScript监测插件已经能够在各种主流浏览器中自动捕获错误,并且可以获取最全面的错误信息,帮助开发者更快的Debug。而对于近来不怎么受待见的IE浏览器,我们也进行了全面支持, 从IE 6到IE 11 。 为什么要兼容各种浏览器? 根据 百度统计 的最新数据,2016年10月份到12月份国内的浏览器份额如图所示: 可知,用户偏好千差万别,而各版本的IE的市场份额总计为26%,仅次于Chrome。 我还有什么话可说呢? 国内主流浏览器都采用双内核机制,即兼容模式和极速模式,而所谓兼容模式,使用的是triend内核,即IE内核。 作为一个自带价值观的产品,Fundebug希望 通过兼容各种浏览器帮助开发者提升用户体验 。 兼容浏览器坑在哪里? Error对象 的属性各有不同,例如大名鼎鼎的Chrome的Error对象木有fileName,lineNumber以及columnNumber属性; Onerror事件 的参数各有不同,例如老版本的Firefox木有columnNumber 和error参数 API不同,例如老版本的IE木有 JSON对象 ; 同一个属性名在不同浏览器的含义不同; 同一个属性在不同浏览器的名称不同; 国内浏览器的IE兼容模式与真正的IE也略有不同; …… 这些问题大概前端工程师都会深有同感吧。 错误智能聚合 同样的代码产生的同一个错误,在不同浏览器上的报错信息是各不相同的。name不同的错误可能是同一个错误,例如 SyntaxError 与 ReferenceError ;message不同的错误可能是同一个错误,例如 can not find variable fundebug 与 fundebug is not defined 。并且,同一个错误在不同浏览器下的lineNumber,columnNumber,stack,与url都有可能不同。 对于这个问题,我们对收集的错误利用机器学习算法进行了智能聚合,尽量将同一个错误聚合到一起,减少重复报警。根据我们的初步估算,目前聚合算法能够将 90% 的重复错误成功聚合,这样极大地提高了用户分析错误的效率。 原文地址: https://blog.fundebug.com/2017/01/16/fundebug-support-all-browsers/
1257 次阅读|0 个评论
科学网的BUG
热度 2 dmi2007 2015-4-28 18:16
本着热爱科学 网的 精神 , 汇报 一条技术BUG : 1、昨天罗德海师兄担心师弟我“怪”他 ,留言说 师弟:奇怪了,我推荐你了,但不显示,但出现如下内容“ 当前推荐数:13 推荐人: 卫军英 吴飞鹏 水迎波 李伟钢 蒋永华 蔣勁松 李学宽 杨正瓴 王华民 李俊 刘旭霞 袁海涛 陈小润 推荐到博客首页 您已经推荐过该文章,不能再推荐了 ” 不知何故? 我刚刚核对了一下,博文正文中推荐数是56,而在热门博文列表里显示的推荐数是57。师兄不解释我也不会怪他,但网上的虫子还请技术员抽空捉一捉。 2、想起 二月份写一篇博文《 正旦酬心:杂图、杂叙、杂诗 》时出现的BUG(字被吞没了)。我在留言处 写 了 问题,也给编辑发了留言。一直没得到回音。我用了一个符号%作隔离带,字就显示了。今天特地改回去(去掉%),发现BUG没了。说明技术人员还是找到了solution,在这里赞一下! (本文问题解决后即隐)
个人分类: 杂谈|173 次阅读|2 个评论
科学探索之路,乃是与【霸哥】的PK之路
热度 2 qsqhopeiggcas 2014-4-26 13:46
科学研究是一个通过不断尝试,寻找正确答案的过程。在纠错中完善,在总结中提高。 人们对某些科学难题的认知是需要过程滴,即使沿着正确的方向,在征途上也难免走弯路、交学费。 在科研中,很难做到不犯“霸哥”( Bug ),但惹了“霸哥”也不要怕,不管它如何难对付,通过缜密思考和实践总结,总可以找到“霸哥”的潜伏地,想出高招把它揪出来、制服它,乃为科研不断进展之道。俺觉得,探索自然规律真谛的科研之路,乃是不断与“霸哥”的 PK 之路。等到你在擂台上把“霸哥”打到了,裁判倒计时它也起不来了,你就成了最后的赢家。 由此及彼是一个复杂的认知过程。它可以是推理,判断,假设,联想,灵感等等。遇到问题时,除了正向思维,我们可以逆向思维或另类思维,我们也可以把貌似不相关的事儿联系起来,用拓展思维的方式探秘,我们还可以问推翻它是否也能成立。总之,解决科学难题,必须有创造性思维。 几乎每个人,在科研或生活中都有一些简单的由此及彼“直线型”推理方法,但它们不一定是正确的。所以由此及彼必须和去粗取精、去伪存真一起使用。
个人分类: 科研随想|2935 次阅读|5 个评论
Matlab到底玩的什么魔术?
热度 3 sanshiphy 2012-8-29 17:03
运行以下语句: q=0.1:0.1:1.5; q(13)==1.3000 ans = 1 结果很正常。 但是,见证奇迹的时刻就要到了: q=0.1:0.1:2; q(13)==1.3000 ans = 0 Matlab到底玩的什么魔术?求高人解答! 不想Matlab玩魔术的同学,可用: q=linspace(0.1,2,20); q(13)==1.3000 ans = 1 Matlab 看了上述博文后,不干了: Matlab(鄙视地说): 博主,我的魔术远不及此呢。我拿linspace也能变,请上眼: q=linspace(0.1,2,20); p=linspace(0.1,1.5,15); q(13)==p(13) ans = 0 博主(膜拜中。。。。):奶奶个熊,我晕了。。。。 Matlab(偷笑) 博主(撞墙中。。。。) 突然,博主(停止撞墙,并得意的笑):有了,笨人笨办法,这下你可变不了魔术了: q=linspace(1,20,20); p=linspace(1,15,15);q=q./10; p=p./10; q(13)==p(13) ans = 1 Matlab(暴跳并撞墙):I 服了 You,这都能想出来。 。。。。。。。。。。。。。。。。
个人分类: 技术备忘录|3268 次阅读|6 个评论
大赛网页bug又一枚
热度 5 Synthon 2012-5-6 00:51
在“分类博文”下,无论点击哪篇文章,出现的都是廖俊林先生的“研究室的笨鸟(2)”一文。 用firefox和IE两种浏览器测试结果一致 请编辑处理 并请大赛组织者考虑如何计算该文点击量
个人分类: 其他|3786 次阅读|6 个评论
活见鬼了。。。科网又一个bug?
热度 3 Synthon 2012-4-23 10:14
王晓明 2012-4-22 21:11 操作失误没关系,呵呵 博主回复(2012-4-22 21:08) : 谢谢理解。 王晓明 2012-4-22 21:03 小贾,有问题可以争论,删留言算什么本事? 博主回复(2012-4-22 21:06) : 纯属操作失误,还望老师原谅。 博主回复(2012-4-22 21:00) : 对不起,不是有意的,点错了。抱歉。抱歉。
个人分类: 生活点滴|3863 次阅读|2 个评论
9年前的热统报告5: 热力学的经典"bug"
jitaowang 2012-3-17 17:00
9年前的热统报告5: 热力学的经典"bug"
9 年前的热统报告 5: 热力学的经典" bug" 作者 : 王季陶 什么是热力学的经典 “bug”? 答案就是 : 长期来 , 把经典热力学放在热力学分类的顶级位置 . 忽略了爱因斯坦所说 “ 经典热力学适用范围 ” 的局限性 . 实际上也就是把经典热力学和热力学等同了起来 . 出现了一系列的逻辑矛盾 , 阻碍了热力学的现代化发展 . 请点击所附录音文件 ( 约 9 分钟 ): RT03-5a.MP3
个人分类: 现代热力学|3692 次阅读|0 个评论
TGIF. Thank God it's not a big bug...
热度 1 zuojun 2012-2-4 09:09
We are in the final stage of writing our never-ending paper. Then, I "discovered" a bug in the code (numerical model for ecosystem). I was soooo upset. Eliminated all the snacks I could find in my office, including part of my lunch. Painfully corrected a subroutine; checked, checked, and checked again. TGIF!
个人分类: My Research Interests|2405 次阅读|4 个评论
16777215不过是一个计算bug
outcrop 2011-6-10 00:05
喻老师哀怨的提出《 1600万个评论在科学网上是个神马水平 》,并列出一张图片来,以其中的16777215来作为证据。 其实这不过是一个统计程序的bug。 这套程序开发方目前也没提出有效的解决方法。见: http://www.baidu.com/s?wd=16777215+site%3Adiscuz.netn=2inputT=333 就我估计可能是数据库的数据和cache数据之间的纠结导致计算出现“-1”造成的。 看了下数据库,统计字段replynum,数据类型是mediumint(8)UNSIGNED 也就是0~2^24-1=16777215范围。 要是有耐心读读源代码,就知道问题所在了。
个人分类: 计算机应用技术|11 次阅读|0 个评论
科网系统bug?别的网友有遇到问题么? “分页数不在允许的范围内
热度 2 liwei999 2011-4-28 01:45
系统bug。“分页数不在允许的范围内” 比如这页的最底下有个页数的选择( http://blog.sciencenet.cn/home.php?mod=spaceuid=362400do=blogview=mefrom=space )。 [1,2,3....10.....197 下一页] 当选择....197时,系统会跳出提示:分页数不在允许的范围内。也就是说,只能选到10,然后再一点一点蹭。因此有人就要问“我该怎么读呢?”了。真不知道第100页如何读呢。 核电站的处理还要花些时间。着急也没有用,只能是“期待”了。 Quote 立委 Quote mirror 科网上看博文时,在选择大数字的页数时会出现这个提示。 “上进青年”的留言大约是来自这个bug。“又在科学网上遇到一个我想读他全部博文的人。。。。 可是文章那么多,我该怎么读呢?李老师能不能从信息技术角度给予我建议,谢谢!” 怎么回事呢?给个链接,我可以汇报给科学网的技术支持。
个人分类: 其他杂碎|2618 次阅读|4 个评论
关于软件开发的几点看法
热度 1 dulizhi95 2011-2-18 21:29
关于软件开发的几点看法 就计算机科学专业而言,从学生到老师,从最底层的开发人员到最高层的研究大师,最终的目标还是要开发出软件产品来,故从教学到研究,一切都需围绕这个轴心转。在此,本人以个人经验及思索,谈几点看法,欢迎同行专家指正。 曾经在一个课堂上要求学生提问,强调涉及到思路的给我提,涉及到背概念和方法的自己去查,不要问我。当时正值熊猫烧香病毒爆发,有学生要求我向他们详细讲解熊猫烧香病毒,当然,带点刁难之意。记得我的回答要点如下: 1 ,开发者只是一个中专生,说该病毒有多深不可测,需要多高的水平和实力肯定谈不上; 2 ,他在该类型病毒这一点上肯定深入进去了,且具有复杂思路的构思能力,并有某种程度的创造力,智商肯定不低; 3 ,我对病毒没有研究,但你们若能提供该病毒的源代码,我相信自己能很快读通,然后随意修改,并能写出杀毒软件。 我举此例是想说明,复杂思路的构思能力,读懂和模仿别人的能力,以及沿某点深入下去的能力,对软件开发人员而言至关重要。 这里以个人愚见列举软件开发最难突破的三个方面,也就是说,作为学习者,针对这三个方面去努力培训自己的能力,肯定是正确的方向。 1, 综合调试大软件的能力。对一个大而复杂的软件,由多个小组开发出各个模块,每个小组都认为自己做得很好,不会有问题,集成调试时却问题百出,这时极少有人能掌控整个大软件,能把它调试顺畅。 2, bug 问题。有些 bug 非常难解决。 3, 性能问题。主要是速度、内存消耗和容量问题。一些有高手开发的成熟软件,往往在这些方面做得相当优美。但用户可能依然对性能不满意,要求显著改进。此时你能不能由发散思维想到别人通常想不到的方法,显著改善性能。 大家知道,软件开发往往是谁都会做,一个刚毕业的很普通的学生,到了软件公司后,大体也能搞软件开发,但要做好上述三点,恐非易事。
2545 次阅读|1 个评论
Altera Cyclone III M9K BUG
zhangjunjie 2010-7-3 11:07
The Cyclone III M9K embedded memory blocks may exhibit bit error in which the read bit is a 1 when the expected bit is a 0. The problem is caused by bitline coupling in the read output. The issue is rare and requires the presence of multiple conditions for the M9K block to be susceptible to the bit error. The conditions include the use model of the M9K block, the application data pattern, and the operating conditions.Designs using the M9K blocks in dual clock and widest data width (x32 or x36) modes are most susceptible to the bit error. Designs using the M9K blocks in single clock or narrower data width modes are not affected when operating within data sheet specifications. The problem is highly data-pattern dependent and triggered by specific data bit combinations. Lastly, the problem can be exacerbated by lower temperature and lower voltage operations. The presence of all these conditions does not imply a bit error would necessarily occur. In addition, if some or all of the conditions are not present, the error will not occur.
个人分类: _FPGA型号以及BUG|2667 次阅读|1 个评论
dataet of Bug report (eclipse, about 210000)
热度 3 windkingwdq 2010-6-7 11:22
从别人那里下载的eclipse的bug report, xml格式。 另外还有freebsd-gnats-20090913,gnome_bugzilla.xml 需要的人可以联系我。 论文使用请注意引用别人的成果。
个人分类: 未分类|3008 次阅读|1 个评论
科学网博客曾经的一个小小bug【很快被科学网修正,赞效率!】
botnet 2010-4-13 14:26
刚才想设置一下博客的页面风格,结果发现了科学网博客的一个小bug,不知网站的设计者是为了对齐好看呢,还是开发的时候不注意。大家一看下图便明白怎么回事儿了。 风格设置中的第一行第一个: 同样的竟然出现在倒数第二行最后一个:
个人分类: 生活点滴|2961 次阅读|1 个评论
报告科学网首页上的一个bug
dabaoski 2008-12-11 02:50
如图,科学网博客首页上这个模块的时间写错了。。。我现在不是注册用户,所以没办法在首页上直接留言报告。。。就在这里说了吧。
个人分类: 七嘴八舌|2364 次阅读|0 个评论
博客大赛最新博文列表中的bug
freton 2008-11-18 01:28
晚上浏览最新博文列表,发现了如下小bug,列表中只显示了文章ID和文章标题: 正常情况下最新博文列表如下,包含博文号、博文名称、作者、分类、点击、评论、日期等信息:
个人分类: 未分类|3035 次阅读|1 个评论

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-7 05:54

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部