新的unity asset storeManagerEx总是出现问题,有人碰到过吗

sd卡已移除,视频不可用 三星s5老出现这句话,不知道是什么原因,有人碰到过吗?_百度知道
sd卡已移除,视频不可用 三星s5老出现这句话,不知道是什么原因,有人碰到过吗?
您:种情况您尝试:1.重启手机2.检查SD卡插入否位或确3.取SD卡用橡皮清洁SD卡金属触点插入手机尝试4.更换张SD卡试试(否SD卡已化或坏损)若问题依存请您机器送三星服务由工程师检查机器具体服务查询请访问:欢迎访问三星维修预约服务平台:
谢谢回答,但实际上我的SD卡还是能用的,只是在将手机内存里的应用转移到SD卡时,出现这样的提示,也不知道什么情况。
建议您更换SD卡尝试,或送修检测一下手机为好
已回答630151
响应时间&44小时
其他类似问题
为您推荐:
其他2条回答
三星手机自身问题我刚买手机每冲完电现sd卡已经移除重新启手机<img class="word-replace" src="/api/getdecpic?picenc=0ad00洋买烂机器再用三星
是不是内存卡的问题,以前出现过换卡好了
三星s5的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁> 【Android游戏引擎libgdx】实现AssetManager自定义AssetLoader以及加载方式示例
【Android游戏引擎libgdx】实现AssetManager自定义AssetLoader以及加载方式示例
&在篇中介绍了通过简单的异或来对图片资源进行加密解密。
  但是,当运行程序时出现锁屏,运行其他程序而转入后台时,将会出现问题。当我们resume时,发现图片都失效了。
  为什么?
  个人理解为原资源不被resume后的程序管理了,这时我们想到在resume中我们重新再加载一遍资源,这的却是个办法。  
  尝试后确实解决了这个问题,但是新的问题出现了。测试中会出现NullPointerException的异常,但出现概率较小,最后未查到原因。
  又重新查看了AssetManager的使用,它有很多AssetLoader,作者也提供了添加自定义AssetLoader的方法setLoader。
  参考TextureLoader完成一个TextureExLoader扩展类
public&class&TextureExLoader&extends&&&&&&&&&AsynchronousAssetLoader&TextureEx,&TextureExLoader.TextureExParameter&&{&&&&&TextureData&&&&&&TextureEx&&&&&&int&size&=&0;&&&&&String&key&=&&&;&&&&&&public&TextureExLoader(FileHandleResolver&resolver)&{&&&&&&&&&super(resolver);&&&&&}&&&&&&@Override&&&&&public&void&loadAsync(AssetManager&manager,&String&fileName,&&&&&&&&&&&&&TextureExParameter&parameter)&{&&&&&&&&&Pixmap&pixmap&=&null;&&&&&&&&&Format&format&=&null;&&&&&&&&&boolean&genMipMaps&=&false;&&&&&&&&&texture&=&null;&&&&&&&&&size&=&parameter.&&&&&&&&&key&=&parameter.&&&&&&&&&&&&&&&&&&FileHandle&handle&=&resolve(fileName);&&&&&&&&&pixmap&=&DecipherPixmap(handle);&&&&&&&&&data&=&new&FileTextureExData(handle,&pixmap,&format,&genMipMaps);&&&&&}&&&&&&@Override&&&&&public&TextureEx&loadSync(AssetManager&manager,&String&fileName,&&&&&&&&&&&&&TextureExParameter&parameter)&{&&&&&&&&&if&(texture&!=&null)&{&&&&&&&&&&&&&texture.load(data);&&&&&&&&&&&&&return&&&&&&&&&&}&else&{&&&&&&&&&&&&&return&new&TextureEx(data);&&&&&&&&&}&&&&&}&&&&&&@SuppressWarnings(&rawtypes&)&&&&&@Override&&&&&public&Array&AssetDescriptor&&getDependencies(String&fileName,&&&&&&&&&&&&&TextureExParameter&parameter)&{&&&&&&&&&return&null;&&&&&}&&&&&&public&Pixmap&DecipherPixmap(FileHandle&handle)&{&&&&&&&&&Pixmap&pixmap&=&null;&&&&&&&&&int&value&=&-1;&&&&&&&&&byte[]&bs&=&new&byte[size];&&&&&&&&&InputStream&is&=&handle.read();&&&&&&&&&int&cx&=&0;&&&&&&&&&try&{&&&&&&&&&&&&&while&((value&=&is.read())&!=&-1)&{&&&&&&&&&&&&&&&&&bs[cx]&=&(byte)&(value&^&key.hashCode());&&&&&&&&&&&&&&&&&cx++;&&&&&&&&&&&&&}&&&&&&&&&}&catch&(Exception&e)&{&&&&&&&&&&&&&e.printStackTrace();&&&&&&&&&}&finally&{&&&&&&&&&&&&&try&{&&&&&&&&&&&&&&&&&is.close();&&&&&&&&&&&&&}&catch&(Exception&e)&{&&&&&&&&&&&&&&&&&e.printStackTrace();&&&&&&&&&&&&&}&&&&&&&&&}&&&&&&&&&pixmap&=&new&Pixmap(bs,&0,&bs.length);&&&&&&&&&return&&&&&&}&&&&&&static&public&class&TextureExParameter&extends&&&&&&&&&&&&&AssetLoaderParameters&TextureEx&&{&&&&&&&&&public&int&size&=&0;&&&&&&&&&public&String&key&=&&&;&&&&&}&&  &......&}&
本文地址 :
------分隔线----------------------------LOL最近切换屏幕容易视角锁定且无法解锁,有人碰到过吗?_百度知道
LOL最近切换屏幕容易视角锁定且无法解锁,有人碰到过吗?
解锁我肯定知道近切换屏幕容易锁死解锁按都没用近更新才现情况发现
提问者采纳
发现突锁住 我候 候试试切换另程序输入调切游戏
突然锁住我碰到过以前,但以前按解锁马上可以解掉,现在按来按去都没用
有时候就是这样的。。。
提问者评价
其他类似问题
为您推荐:
其他3条回答
跟情况切换按都没办能退重新进游戏坑爹
再切进切出
反复按Y- - 就OK了 你先试试 如果有用再采纳我
alt+tab,之后再切回来,试试?
lol的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁你碰到过的最难调试的 Bug 是什么样的?
在 Quora 上有一个和 Bug 相关的热门问答帖:《What’s the hardest bug you’ve debugged? | 你调试过的最难 Bug 是?我大中国的程序员攻城师们遇到最难调试的bug是什么呢?欢迎吐槽!
按投票排序
763 个回答
以前做windows技术支持,一直调试crash dump。就我个人的体验,有关线程安全的dump是最难调试的,来无影去无踪,看到的就是一坨已经被破坏的现场(dump),然后你需要在大脑中还原案发经过。有一天香港某大公司(名字不透露了)上了一个case,他们自己的一个应用在生产环境中会莫名奇妙地crash。当时我就想:你自己应用crash找我们干什么,肯定是你自己代码问题,而你还不给我看你的代码!所以几个难点:第一,没有客户代码。第二:客户用的系统是NT4!NT4什么概念?就是没有pdb文件的,符号文件只能对应到函数入口,对应不到具体的源代码行号。你只能把整个函数的汇编都读懂才能知道crash的地点是在做什么事。第三:只有dump,不可能设断点调式,因为根本不知道如何重现。反正就这么读了几百上千行的汇编(此处省略两千字),最后定位crash的地点,能看到进到EnterCriticalSection的api之后发现这个CRITICAL_SECTION结构其实已经坏了,然后就挂了。从heap结构可以看出似乎那个heap block已经被用作它用了,所以有可能那个CRITICAL_SECTION已经被delete了。然后看谁管理这个CRITICAL_SECTION的, 发现是msvcrt,还是VC5的。好吧去找代码,还好那个代码是找得到的。然后就把所以处理这个CRITICAL_SECTION的代码全部找出来,把所有代码在不同线程中的不同执行顺序都排列出来,最后发现在某一个特殊的执行次序下会有一个race condition,导致这个CRITICAL_SECTION会被过早delete掉。还好一开始就怀疑是线程安全问题,入手方向没错。好吧,最后居然是vc runtime的bug。当初错怪客户了。调完这个bug的副作用就是之后看到汇编就想吐。看看现在c#的调试那根本不是事。
评论里信誓旦旦要小护士的兄弟,你真觉得长着一张工程师脸的你能搞定么? 木有高富帅的命,却得了高富帅的病……洗洗睡吧亲,一个成功的工程师是注孤生的……XXXXXXXXXXXXXXXXXXX 网络硬件相关现象:某医院部署的网络,不定期会有半夜断网或者不稳定情况,但天亮就会恢复,客户投诉抱怨。调试过程:现场查看全部网络硬件正常,查看log发现有一台汇聚交换机有反复重启动作,在重启前有高温告警。于是重点关注该机器。该机器放在一个机柜中,机柜在一个小储藏间的角落里,储藏间不大,一边还摆着张破沙发,正好可以坐着用电脑调机器,但是实在查不出什么可疑情况会导致过热,因为投诉等级较高,于是连夜蹲守。第一夜无事。第二夜无事,到半夜,忽然进来个小护士,吓一跳,说,哟怎么有人啊,然后就走了。一夜无事。第三夜无事,到半夜,又来个小护士,探头看一眼走了。一夜无事。第四夜无事。于是告诉院方,发现问题马上打电话,回家。第五夜出事,赶到时已是早上,网络已经正常,查看log发现还是过热告警重启,时间在半夜3点多。联想到前几天的小护士,于是问院方半夜是否有人进入,答一些值夜班的护士会偶尔在里面休息。于是找到进去的小护士,问是否动交换机,答没有,问进去后做了些什么动作,答只是睡觉。再追问,除此之外呢?答:就是那个排风扇太吵,睡觉的时候把电源拔了。她把机柜的冷却排风扇电源拔了!她把机柜的冷却排风扇电源拔了!她把机柜的冷却排风扇电源拔了!她以为就是个通气风扇!居然睡醒走了还知道再插回去 〒_〒你有胆拔插头你倒是别插回去啊…EEEEEEEEEEE分EE割EEEEEEEEEEEEE再说一个吧。研发的一块新电路板,调试正常,往机箱里面装,装上螺丝拧好后不上电了,没有电压,确认是电源短路保护。把板子拆下来,又能用了。装上去,又不能用了。跟白鹿原里白孝文在窑洞里穿裤子一样。机箱是金属并且接地的,检查了全部连接,电源肯定木有碰到地,但是用万用表量的明明就是电源地短路,而且就是裸板能用,带机壳就短路,于是怀疑螺丝。螺丝都拧上就短路,都拆下来就正常。然后挨个拧螺丝,定位到某个螺丝。那个螺丝一拧上就短路。但是电路板正面反面都是地,螺丝本来拧上去就是为了接地用的,怎么会把电源短路了呢……这tmd不科学啊。仔细端详该螺丝孔,发现内壁有些黑,凑近闻略有焦味。心里大概有数了,一查pcb图,果然,6层电路板,内层电源层的铺铜几乎直接铺到了螺丝孔,安全距离只留了一点点。其实本来也没什么,螺丝只是固定用的,不会和螺丝孔内侧有什么触碰,好死不死的那块板子那个螺丝孔公差偏大,螺丝拧上去是没有完全对齐的,直接卡到了螺丝孔内壁……使劲一拧,就像刀一样切了进去,碰到了内层电源。所以,所有灾难,都是一连串小概率事件的巧合扎堆,搞科学,也得信命。------------------------------------------------------------------补充备注一下,这都是很多年前的事情了,以现在的技术而言,第一个case即使机柜风扇关几天都不会有问题,芯片的可靠性和工作温度范围已经有很大的改善。第二个case则是安规设计规则的低级错误问题,只要正常按照安规的规范审查,是不会有问题的。
实在忍不住了,第一次答题。
08年的时候,我所在的公司调试三星的一款新的arm9 CPU,型号是S3C2416,是S3C2450的简配版。开发板刚入手的时候还是热乎的,因为三星的这个芯片刚刚出来,国内的代理商一共就几块开发板。各公司评估开发板都是分时使用的,只能预约几天。开发板入手的时候,三星那面连BSP都没有准备好,没有test code,没有u-boot,没有linux-kernel,甚至连Spec都是错误百出。还好我公司虽然小,研发能力在本地区还算不差,没有的东西可以自己移植。
公司急着要出新品,在没有完全验证处理器的情况下,已经layout好了PCB,并且去打样了(当时竞争确实比较激烈,400M主频处理器而且这么低的价格绝对非常有诱惑力,所以公司决定冒这个险了)。在没黑没白的工作两周后,硬件和软件做的都差不多稳定了。这时候经理说,功能上问题不大了,我们来调一调休眠时的功耗吧(我们的产品一直以待机时极低功耗作为产品的卖点之一)。然而这却是噩梦的开始……
公司的指标是待机时休眠电流500uA~800uA(电源电压4V)之间。以前所有的产品都在这个范围之内,三星方面的技术支持也明确表示,他们的解决方案达到这个指标。
在我们调试过程中发现,整个系统休眠时的功耗在1800uA左右,一直降不下来。我们重新核对了所有的IO和外围电路的所有连接,以及IO口的电平配制,都没有问题。这时,我们决定测试每一个单元的功耗,用电流表分别串联进每一个外围电路,每个单元都很正常,就是系统总体偏大1000uA。
我们连flash和ram的待机电流都测过了,仍然正常。好了,通过排除法已经确定了就是CPU的功耗过大。但是在开发板上调试休眠的时候,CPU功耗却是正常的。
我们怀疑是开发板上CPU批号和我们自己拿到的CPU样品的批号之间有区别导致的,因为三星那面也在同步修正CPU的BUG,所以我们“大胆地”把开发板上的CPU用风枪吹下来,换到我们的PCB上,把我们的CPU贴到了开发板上进行交叉验证。结果是开发板仍然功耗正常,我们自己的板子上功耗偏大,还是大了1000uA。
CPU周边的核心电路设计出现了问题!这是我们一致的判断!但是问题出在哪里,我们反复核对开发板的原理图和我们自己板子的原理图,简直就是一模一样!因为整个核心电路这部分就是从开发板上抄过来的,实在没有什么可比对的。我们转而又去怀疑PCB的问题了。
我是做系统移植和软件的,纯电气的问题我就无能为力了。闲着没事,我就反复检查我在linux中对系统休眠的IO引脚配置。然后挂着电流表做反复测试。电流表也对的起我,每次都是那个数。在一次系统待机的时候,我实在忍无可忍,一把抓起了板子。突然之间,电流表的读数飞快下降,降到了300uA!我松开手电流表的读数就又爬回来了。我把我这个惊奇的发现告诉了同事——一个硬件工程师。同事说可能是哪儿摸短路了,让我试试还能不能唤醒系统。我给了一个外部中断,系统神奇的正常唤醒了!
“难道这就是问题?”,我想重现一下。但是再次在待机的时候抓起电路板的时候,读数并没有显著发生变化。“可能是手法不好”,我这么想着,用手在板子上继续抚摸着。果然!当我的手指按到PCB中的某一个位置时,电流又降了下来!反复试了几次,都是这样,就是在我手指按压的这一片,只要是用手指按着,电流就正常!
这回同事开始重视了,打开PCB图,拿着电路图和万用表,查查我摸的到底是那块电路。硬件工程师觉得不可思议,因为我摸的部分并没有连接任何的电路——焊盘是空的。他于是用万用表的表笔去检查是不是PCB制版的问题,测一下这些空焊盘到底哪一个有电压。但是万用表中没有读数,这块都没有电。但是当万用表的表笔落在一处空焊盘的时候,电流表的读数又降下来了!
这可是重大发现,我们对照了一下电路图。这处空焊盘是CPU中USB-Host模块的D+信号。由于我们的产品不需要USB的主机功能,所以这一块儿没有做任何处理。多亏了画原理图和PCB的同事,多留了一手,把USB Host的引脚都在PCB上做了个引出。谁也没想到是这个引脚出现了问题,辛亏这个信号引出来了,要是没有引出来,一辈子也查不出问题。我们给D+信号加了一个下拉电阻后,系统的功耗瞬间正常了。
事后分析,三星自己开发板上有USB-Host的功能,所以USB-Host的外围电路也是完备的,所以功耗不会有问题。但是我们自己的产品上不使用USB-Host功能,没有相关外围电路,所以出了问题。这是因为在CPU休眠的时候,D+信号内部被悬空了!一句话,是三星CPU自己的BUG。我们修改了我们的PCB,增加了一个下拉电阻,同时将问题反馈给了三星。
一个月后,当我们的产品量产时,三星也及时的解决了这个问题。那个下拉电阻也不需要再贴上去了。
最后用手指头找到了CPU的BUG,不知道这算不算是最难调的。
反正这么多年了,这个经历留给我的印象是最深的。
也谈谈自己遇到的一个bug吧,我之前是做电商的,某较大的电商平台,突然有一天,C2C的店主反馈,看到的订单不是自己的,看到后台的商品列表也不是自己的当时在睡午觉,看到这个问题,立马吓醒了,平时5个投诉就是一个故障单,那还都是一点体验上的小问题,这种订单混乱,商品混乱的错误,真是要紧急死了于是,主管,总监都来看这个问题,一群大佬在后面看着,赶紧找最近几天的发布,测试情况,一个个回退,一个个检查,最后都无法解决问题,要知道时间一分一秒过去,半个小时还解决不了就要出大事了后续又有用户来投诉,直接电话联系,远程控制电脑,发现操作起来巨慢,于是顺口问了一下用户的网络是什么网络。结果他说是:“某城宽带”,一瞬间,有点感觉了,继续问其他几个投诉的客户都是“某城宽带”,然后我们打电话到那个宽带的运营商,得到的回复是“年底了,为了省流量,他们做了一部分缓存”他们做了缓存做了缓存缓存存可是为毛TM的动态请求还做缓存啊,修改商品和订单的时候,随机返回成功或者失败 。。。。=========回答下面的一些质疑===============1.这个和时间戳也没关,我们都加了token的,他们也忽略了2.你没猜错,他们把POST和GET动态请求也缓存了,就是说你提交了一个POST修改商品的请求,他从环缓存里面随便丢个回复给用户,用户感觉修改成功了,其实请求根本没到我们这边是的,就是这么丧心病狂。
不算是最难,但是很有意思的一个bug。我们系统里有大量的VR (virtual route),每个VR都有一堆的防火墙规则,大约几百条吧。所以总共有几十W条防火墙规则要在系统启动的时候写入到系统里面去。你要问为什么不提前写好,那是困为我们用的是cluster,都没有硬盘的。没地方写啊。所有的软件都要在启动的时候安装一遍,系统配置要在启动的时候写入一次。以为背景。平时用着好好的,大家都很开心。直到有一天香港的有个客户心血来潮一下子配了几百个VR,配了就配了吧,用的好好的。大家照样很开心。直到有一天他们做了个作死的事情。他们决定要把系统重启下。话说我也不知道他们为毛闲的要重启系统,因为我们的设计目标是除非升级是不需要重启的。可能只是有某个人手贱想试试这个从来没用过的功能吧。然后我们系统就启动不起来了。 启动持续了好几个小时都启动不起来。 这不正常。 于是抓log,看现场。各种narrow down,最后发现erlang gen_server (你可以认为是一个dispatcher)的队列里留着几W条未处理的消息,这个gen_server是被活生生堵死的。然后查查查,发现 iptables写规则实在太慢了。我们的代码又是一条一条写的,每次写iptables都要初始化一下,结果几百个VR,几十W条firewall规则的写入请求堵在了gen_server的队列里面,然后挂了。知道了原因以为好修了,一个进程写不动,我们为每个VR开个进程不就行了?我们为自己的聪明才智感动不以。 事实证明我们too young too simple,我们为几百个VR开了几百个gen_server进程大家一起努力往linux里面写。然后 iptables挂了。再然后linux内核挂了。 内核挂了挂了了于是只好想办法把iptables写个driver集成到erlang里面去,去restore的方法来做。这样就跳过了每条规则初始化的时间。虽然还是需要几个小时再启动,但是好歹能启动了。 什么再后来?再后来我们把VR的驱动改了个底朝天,搞定了。
看了 @李幼萌
的答案,忍不住也来一段给大家乐乐。 ======================================================================
差不多10年前,我们做了一个ARM核的芯片,据说还是国内第一批用ARM7做的,还挺高端,带有很多安全功能,当然安全就意味着难以调试,整个系统全部打散,不能分块。俺负责前端设计,系统,硬件软件驱动等杂七杂八一堆工作。
然后芯片流出来了,封装回来,几天几夜的调试,功能都正常了,那个高兴呀,第一个芯片就成功,奖金有了!
不过做稳定性测试时候有一个问题一直困扰着,这系统总是莫名其妙的有时候启动不起来,概率有个百分之几左右。上电就是不LOAD。而一旦起来之后,就很容易了。
反正功能设计,硬件,驱动都是俺的,那就调呗,软件,硬件,电路,仿真,研究了好几天,抓狂,无解。又整个系统不能分块,我都开始怀疑是不是ARM核的问题。。
又做了一个不断重启的测试系统,不断啪啪响上电断电,针对上电的情况作了统计。得出结论就是,上午不启动的概率高,下午不启动的概率低,晚上不启动的概率高,深夜不启动的概率低。。。。。和饥饿程度快挂钩了。。。
那时候那个抓狂啊,怀疑是什么干扰的,连屏蔽房,隔离电源啥都整出来了。就是没头绪,而公司给客户演示的时间快到了,要是现场挂掉就丢脸了,心里那个急啊。那段时间,每个深夜,公司里就是我座位上啪啪啪的声音------继电器的啪啪声。
接下来一个周日测试,公司空调坏了,汗流浃背,脾气极坏,几乎就要摔板子了。不过发现这天运气非常好,成功概率很高。没头绪,直接抽上烟,看着板子发呆,不知那根神经搭错,直接把烟头对着芯片戳上去!咱第一个亲生芯片!!如果不行了就掐死它!!!结果发现怪了,戳了烟头,启动哗哗的,每次都OK。遂怀疑是尼古丁过敏或者是温度原因。拿着烙铁烫着它,每次必成。于是送进高低温箱,做温度曲线测试,发现环境温度40度以上,成功概率极高,刚好碰见今天加班没空调,平均温度高,所以表现良好。而启动起来因为系统一发热,所以后面启动就容易了,温度一凉下来表现惨不忍睹,敢情这芯片是非洲来的。
有了方向就好说,先解决DEMO,给领导好看。遂做了一个电热丝发热电路,贴在芯片上,用单稳开关控制,一上电就加热,然后不断自动啪啪啪对芯片重启,一旦芯片重启成功了就断开发热电路和重启电路。进入正常运行情况。系统搭起来一测,效果杠杠的!!!基本都能保证几秒钟内就能启动,公司上下一片赞誉。 于是,领导拿着这套带着电炉丝的系统去做报告,销售拿着这个电炉丝Demo去给客户演示,取得极好成功,老板都在准备后续的销售计划了。俺心里急啊,总不能出货产品也带着电炉丝吧。。。。
静下心好好分析,和温度有关,又是随机故障,应该很可能是哪个地方悬空,存在不定态的问题,外面的电路是不可能了,前端模拟加入随机量也不能重现,那很大可能是后端的人搞的鬼,遂拉来后端人员(暂且称为C公司),检查扫描链和测试电路,果然发现有一个寄存器没有初始化复位。于是后面的情况就简单了,往扫描链中灌入一串数据,把未知量洗出来。成功!!!
所以我们第一代的产品,主芯片旁有一个奇怪的芯片。据线人报告,有竞争对手和盗版者都认为这是安全反盗版电路,因为拆掉这一块,系统工作就时不时的异常,抓不到规律,可能包含短时间正版验证,长时间正版验证,随机正版验证等高精尖反盗版措施。反正无法破解。。。。俺笑而不语。图样图森破。:)---------------------------------------------------至于说为什么寄存器没有初始化复位没检查出来,我也不知道,这是人家C公司做的后端,他们的软件自己加进去的电路。而据说这C公司虽然牛,但那时候后端服务还是新的,软件也是新的,刚进国内,给我们一个特惠价做白老鼠。。。
答个前段时间刚发生的,不是最难调的bug,但是确实比较虐心。之前用xilinx一块比较高端的开发板验证一个高速信号的功能,发现有一路输出幅度是其他的1/10,感觉很诧异,于是和师弟翻了一天手册文档,难不成这货还有配置幅度的功能。最后无解,用万用表在BGA焊盘和走线上一点一点地量,过了一个小时,发现....(Bug微距图)尼玛一万多的板子 表贴SMA接头漏焊!中间大概有0.5mm的距离,高速信号空间耦合过去10%。于是默默用热风枪吹上,一切正常了。这个bug的恐怖之处在于,高速信号可以从断点发射出去,然后让人误以为卧槽这有输出啊,不会想到根本就是个直流的断路,直到你用了万用表。
写一个热乎的,刚发生的:写JS,自己手机没电了,拿同事老张的安卓机调试,很简单的获取用户微信昵称,结果死活获取不到,一直显示为null。应该是跨平台问题,因为之前在自己iPhone上是没有bug的,拼命看api文档,但是都没提到这方面。急死我了。———————8.21更新—————————刚刚老张告诉我他的昵称就是null。———————8.22更新—————————A:“听说老张昨天被同事打死了。”B:“哎。前天还发朋友圈呢。”A:“是啊,年纪轻轻的,挺可惜的。”————————说明——————————前面夸张修辞,老张最后当然没死,腿打断了而已。有兴趣的可以试试alert(null)和alert("null")~
怒答!!答主不如楼上这些硬件大牛,乃软件狗一只,去年做 Android 开发的时候遇到一个极其搞笑的 BUG ,自我感觉有必要说出来让大家开心开心。当时我们在做 Egret Runtime 的第一个版本,可以理解为他就是一个 Android GLSurfaceView 渲染器。当我从开发工程师手中拿到第一个新鲜出炉热乎的开发版的时候,我发现一个现象,就是游戏整个 App 会不时崩溃掉,crash日志大概描述的是 C++ 挂掉了,当时我由于经验不足,还不会根据 C++ 的 dumpstack 去检查是哪个模块的问题。所以我决定先尝试重现一下这个问题。重现步骤:1、把手机放在桌子上,打开 App,观察5分钟,未崩溃2、5分钟的时候接了个电话,接完后 App 崩溃3、意识到可能是 Android 生命周期问题导致的,于是重新打开 App,反复在前台 / 后台切换,未崩溃4、由于长时间弯腰盯着桌子上的手机,有些不舒服,于是把手机拿起来,想舒服的后仰坐在工位上继续重现,然后在把手机拿起来的一瞬间,崩溃。5、吓一跳之后,小心翼翼的重新打开 App,思索自己刚才到底做了什么,同时紧握着手中的手机继续盯着屏幕,观察5分钟,未崩溃6、心情暴躁,把手机扔到桌子上,崩溃7、惊愕......8、重新把手机拿起来,再次扔到桌子上,崩溃9、给开发的同事讲,我重现出了这个BUG,只要用力把手机往桌子上砸一下,就会崩溃10、开发同事匪夷所思的表示没有调用过陀螺仪之类的 API,只是个简单的渲染。11、现场演示狠狠的砸了一下我的手机,崩溃重现12、开发同事狠狠的砸了一下他自己的测试机,未重现,于是拿过来我的手机,进行真机调试( 每次调试就要砸一下我的手机....请自行脑补我的表情)13、最后发现,原来是当手机被狠狠砸一下的时候,屏幕旋转方向发生了改变,然后触发了 OpenGL 底层渲染的问题没有 Handle 住 ...... 14、用3分钟修复了此问题,然后对着被砸了20多次的手机泪流满面.....
不算最难的 ,算一个比较熬人的… 最近产品验收测试阶段,几轮迭代测试都显示部分手机蓝牙都一定概率丢包……但我拿那些手机做了非常多测试 也包括和测试员的一模一样的测试环境,一直没重现。最后阶段 几个人轮番测试这个bug ,除了我大家都测试到过,但只有我有环境抓到关键log………两天两夜终于抓到了这个bug这货怎么出现的呢? 就是那些个二逼手机 有小概率出现蓝牙发呆一秒左右,什么也不做,但又在超时的允许范围,协议合法………而我们的二逼芯片 居然只有在这个情况下才会出现一包数据呢包头标志位错误。也就是一个手机的小概率随机错误会诱发我们的bug。这不是关键 最最关键的是这个bug至今还躲着我,它已经面对了所有其他人员……另外一个bug 用频谱仪抓晶振辐射 ,我一抓速度叫来了我们的射频工程师
靠 你看 这个辐射怎么变成了对称的双乳峰?不应该是正态的单峰吗? 我们一起测量了很久……后来 他不小心被电到 说:你这里没接地?怎么感觉有110V左右的交流电? 尼玛 万用表一量 真是110V ,第一次知道原来有些工程师人体可以做万用表…~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~评论区的 你们够了 欺负我一个弱电的插不上话吗?
刚看其他人的回答,又想起来一个。现象:很简单,有段时间学校宿舍电信的网络,经常大面积集体掉线,时间不固定,但发现最常掉线的时间是晚上10点多,各种投诉抱怨,问候学校网管家人的。(心塞呀,学校其实真的维护设备的都是我们这帮兼职的学生,那帮老师就管收钱和发钱,工资那么低,累成汪还被骂。。。)调试:白
天去看了下机房设备硬件一切正常,当时以为是认证服务器配置太low,晚上上线人太多就卡死,导致心跳包中断,集体被下线,后来发现发现虽然到5000多
人后会有部分心跳包没回应,但是客户端允许部分掉包,人再多也不至于丢包到集体下线,最后查log发现这台机架上的所有交换机到那个时候都会重启一下,于
是重点关注。机房是5号宿舍楼1楼的一间宿舍改造的,加了空调,另外从配电箱里接了不限电的电源(宿舍的电嘛,晚上会断电,还有功率限制),联通电信移动每家一个宿舍做机房,于是我在机房里蹲守。第一晚是周六,一晚无事。第二晚,到10点多一点,咔嚓一下机架上所有交换机的灯一下全灭了,过了几秒后通电,重启。诶,我什么都没做呀,我就在机柜前坐着,也没人碰机柜呀!肿么就断电重启了,然后又看了log,发现其他机柜切换到UPS电源供电了一小段时间,交换机的机柜是没UPS的,明显是断电了,但是我人在机房,没人碰设备呀怀疑是插头接触不良,换了机柜里的排插。(其实想想就不太可能,接触不了还能定时发生?)第三晚还这样,第四夜还这样,诶~神奇了,这是什么超自然现象?难道是进户线有问题了?想起电线是从隔壁联通机房进来的。于是跑联通的机房看看他们到点会有问题没?发现这边也是每到那个点,就自动切换到UPS供电。(联通给交换机也配置UPS了)怀疑是电路有问题,时不时断电。于是,第五晚守在隔壁了。。。一夜无事!!!诶??!!!这是神马情况?然后就再也没事了,断电情况再也不出现了。。足足好了1个月。直到下个月的运行商派人来例行检查了以下设备后,又出现上述问题了。额,这是神马情况嘛!!我去两个机房看了一下,诶,又好了,电信不掉线了!抓狂了都!!完全是玄学呀这。只要我进过联通的机房一次,电信的掉线问题就能解决。。我居然还有防掉线的功能?最后只好挨个问机房隔壁的几个宿舍有没有发现在那个点机房有没有奇怪的现象。他们有人说感觉会掉线的日子里,机房不是那么吵!!然后在我努力研究调查下,终于知道事情的真相:========真相的分隔线==========机房的供电是这样的,红色的是电线,紫色的是一排插座电线是后改造的从室外的桥架上引入的明线,隔壁是电信的机房,因为进门的墙是承重墙巨厚还有钢筋,布线的时候为了省力,就只从联通这屋进了线,电线到插座高度后,打洞到隔壁。电线是后改造的从室外的桥架上引入的明线,隔壁是电信的机房,因为进门的墙是承重墙巨厚还有钢筋,布线的时候为了省力,就只从联通这屋进了线,电线到插座高度后,打洞到隔壁。联通机房隔壁宿舍的嫌睡觉时机架散热风扇太吵,就用偷偷用卡把门捅开(那种A级锁,很好撬的),睡前就偷偷把机柜的风扇电源拔了,早上再偷偷插上。。因为机
房有空调,拔了也没导致设备过热。但是。。。插机柜风扇的那个插座是进户第一个插座,就是那个孔的位置,他拔插时插头会带动插座,导致里边没接好的电线在
连接处断开一下。为什么周五周六有时没事,因为他们可能周末集体出去了,晚上不在宿舍没人拔插头!为什么是10点多,因为快睡觉了,才去拔插头。为什么其他时间不定时,因为他们不一定什么时候想起来插回去。为什么我进去一次就没事,因为我出机房后,会用钥匙反锁门,他们捅不开了,而其他人出来不反锁,只是关门,他们能捅开。其实现在回想,最诡异的就是,我第一次蹲在联通机房的那一晚(第五晚)他没来撬门拔插头,不然也不至于追查这么久。又想起来一个:【关于锐捷和交换机的事】学校某一天开始,大量用户正常上网情况下突然掉线,再次拨号时认证停顿在“寻找认证服务器”,之后提示框显示“认证失败”。但是有人发现锐捷认证失败后,“禁用”、“启用”网卡后,多次尝试锐捷拨号能够成功认证,但是在上网几分钟后会再次掉线。锐捷的认证过程就不写了,看这个个问题的估计都大概知道。先考虑,锐捷认证服务器故障,看了下,CPU占用率60%左右波动,内存占用2G左右。(这渣渣服务器啊。。占用这么高也是醉了)RG-SMP正常,加密狗也没问题。看来服务器没事。那估计就是网络环境故障,看了下核心交换机到认证服务器之间的网,物理连接没问题,流量看起来也挺正常。那估计就是核心交换机和用户终端交换机的问题。然后发现,核心交换机到物理选课平台的服务器间最高峰时一秒快3万的封包。。。这肿么可能嘛,结果联系了那边,到服务器上一看,恩,服务器被人拿下了,被放了好几个成人和赌博网站在上边,还发现有挖流量矿的代码,还被拿来D别人,还被放了个SMTP服务器在发垃圾邮件。里边的学生个人信息被下载都不算事了。断开与他们的链接后,CPU负载降低,但是认证还是失败。继续查,发现另一个到行政楼的接口流量也很高,大约每秒1.5W的封包show arp一下查看,发现一堆arp未完成报文,在Incomplete状态在IP地址无法找到其对应的MAC地址时进行转发,占用了交换机内缓存表。于是猜,要么中毒,要么出现环线,然后就查呀查,发现基础交换机上WLAN102、103流量异常,那就继续查呗,最后发现,某逗比做了这么一件事。这个基础交换机是直接给这层供网的,大办公室留两个口,小办公室一个口,他们自己用交换机再分。学校机构调整,部分办公室从新分配了,本来有个大办公室是,两个部门同时用的,他们每个部门自己各占用了一个接口用。后来换给另一个大部门了,他们搬家时,看到有两个接口,于是把这两个同时插到自己的集线器(居然连交换机都不是)上。始作俑者还特肯定的和我说,这样可以加快网速,可以有双倍的带宽。我和他说这样不行,他还不行,非说我不懂电脑了,他是在XX之家看到的,还说之前办公室里就这么接,就没事,网速还快了。(后来发现,他原来办公室其中一个接口,交换机端的插头松了,插了等于没插,网速什么的,只能说是心理作用了)什么时候集线器能当路由器用了。。什么时候,带负载均衡的双WAN口路由器,只卖20块钱了。。想多玩多播起码你也要设置下吧,直接插有个毛用。。不怕遇到小白用户,就怕遇到半懂不懂还装懂的。。
更新评论里有几位朋友对于我提到的BIOS有上百万行源代码表示不可能,甚至有一位朋友提到BIOS就是个boot loader,要那么多代码干什么?我想我有必要在这里做一些简单的说明。在说明之前,我首先要申明一下由于我2010年就已经离开BIOS行业了,并且之后的日子我并没有持续的去跟踪最新的技术趋势,所以我对于目前的最新情况并不了解,事实上这个行业的知识刷新速度看起来非常快。所以我这里说的其实还是基于我当年的知识构成。首先,目前的BIOS都是基于UEFI的新一代BIOS。这类系统本身就具备十分强大的功能。完全可以视作一个小型的操作系统,有自己的shell,自己的drivers,自己的app,甚至自己的图形环境。这样的系统的代码量自然不会小。其次是因为x86系统的历史包袱非常非常严重,而bios作为最核心的系统固件承担了太多的历史兼容性的责任。举个例子,就是对于usb键盘的支持,大家可能会简单的认为,支持一个usb键盘那不是太简单的事情么?的确是这样,但是个人电脑有一个非常非常重要的原则就是兼容性。具体到键盘上,如果你现在找一个古董级的PS/2接口的键盘,然后把它接到现代的主板上,假如你的主板已经没有PS/2接口了,那么买一个转换头,然后再接上去你会发现这个古董级的硬件仍然可以使用。是的!对于我们用户而言,这是完全符合逻辑的一件事情。但是对于bios开发者而言,这就是一个很要命的问题了。原因很简单,我们暂时穿越到几十年前,那个年代的电脑主板上都有一个叫做8042的芯片,用来控制诸如键盘这样的外设,那个时代的开发者通过读写60H以及64H端口来访问键盘,然后那个时代的汇编BIOS则提供了INT 9H中断来为应用程序提供键盘服务,在几十年前那个时代,这一切是很美好的。那个时代的操作系统DOS就是这样来访问键盘的。现在让我们回到更加美好的现代,由于历史兼容性原则,所以现在的每一台计算机还必须可以安装DOS,还必须让DOS或者运行在DOS之上的应用程序可以无差别的运行在现代的计算机之上 - 可是,大家是否知道,现代的计算机压根没有8042这块芯片!更要命的是,后来人们发明了一个叫做USB的新玩意儿,基于这个新玩意儿的键盘根本不会接到60/64端口上,而且这个新接口的键盘采用的编码与过去PS/2接口的编码完全不一样!那么如果不做任何处理的情况下,那些过去年代的软件压根不会认识新的键盘,所谓的历史兼容性根本无从谈起!所以我们伟大的bios这个时候就扮演了救世主的角色了,bios会做很多处理,以现在的角度看,现代bios模拟了一个PS/2键盘:现代bios一边读取来自USB键盘的信息,一边将其转换成那些古老软件能够识别的键盘编码,然后再中断系统,写入内部的60/64端口的缓冲区。大家也许会发现,所有的现代bios里会有一个设置项,一般叫做legacy USB Support,默认值就是Enable,打开这个选项你才可以在DOS下使用usb键盘。当然,具体的实现过程异常复杂,涉及x86处理器最神秘的SMM模式,我们就不展开讲了,这已经远远超出本文的初衷。所以一句话,bios的代码非常复杂,还要包含大量的历史兼容性代码,除了我们上面谈及的键盘问题,还包括比如INT 10H的屏幕服务,据说直到Windows 7的安装程序,还有一小部分使用INT 10H来写屏。那么我们的bios就必须包含这些可能有些用户一辈子也用不上的服务。代码量刷刷的就上去了。--------------------------每次想起这个bug,虽然很多很多年了,我仍然满脸都是泪水啊!当年做x86 BIOS,客户是长城电脑。有一回我们的新版本发布给他们后进行系统重启测试,就是安装好操作系统后反复不停的重启机器,看看重启几百上千次后情况如何。原因是客户买了电脑每天用,至少得保障人家用个俩三年没事吧。结果我们的新版本重启到一百多次的时候挂了,现象就是开机黑屏,没有任何输出,就和当年的CIH病毒发作一模一样,经验判断系统压根还没有boot OS就跑飞了,我们自己测试也是这样,而且一旦出现问题就只能重新刷BIOS这个bug非常难调,因为当时我们的版本将近300万行源代码,大概2%的汇编与98%的C,几千个源文件,光是用来参与build过程的工具就有十几个。而且这些工具都是自己写的,构建项目的时候先编译这些工具,再去用这些工具加编译器来生成最后的ROM文件并且更加恼人的是,我们当时没有source level的debug tool,甚至连汇编级别的单步调试工具也没有,压根没法对代码做step into/over,更没法加个断点。。。当时可以用来调试BIOS的工具有两个,一个是Intel自己内部用的ITP,这个是人家公司自己的,一般不给外面人用,当时我们公司与I公司的关系尚处蜜月期,给了我们两个,但是当时被Chipset team霸占着做porting用;另一个工具就是American Arium(这家鸟公司不知道现在还活着不),这个东西说白了就是商品化的ITP,因为目标客户少,所以价格巨贵巨贵!一套系统价格几万美金,而且每一代CPU都要换一个插座上的适配器,这个适配器又是一万美金好像,还不太稳定,用着用着就挂了。。。我们公司当时有俩,但是因为没有买新一代处理器的适配器,于是只能吃灰了于是我们唯一的调试手段就是serial debug,就是系统启动的时候会通过port 80把一些重要信息打出来,然后我们根据这些信息判断执行到哪里了,系统的情况如何。这类似原始的printf打印。如果要看一个变量的值或者验证一下我们的判断,就得重新写代码,在需要的地方加入调试语句,然后花上半个小时rebuild bios,再重新烧录,再上电运行看看打出来的到底是啥。如果有疑问,或者发现这里没有问题,又或者有了新的思路,重复上述过程。记忆中整整一个礼拜,我们都在不停的看debug info,反复烧录bios 哭啊!简直不是人过的日子!最后发现系统可以成功的跑过PEI,到了DXE阶段的某个环节,突然就像心脏骤停一样,跑飞了!去看疑似跑飞的DXE Driver,是个很普通的平台硬件初始化程序,没什么疑点,压根没有头绪。那段时间,几乎每时每刻都在想着这个bug,实在是茶饭不思,根本没心情做任何事!就这样差不多过了俩礼拜,经过了无数次的重启与烧录bios,以及猜测,验证,被否定,再猜测,再验证,再否定。。。。。的过程后,我们终于发现了问题的原因:大家可能还记得电脑主板上有个CMOS,传统上用来存bios设置,但是现代的系统已经逐渐弃用这个东西。我们现在的bios芯片都是可擦写的,也就是用程序可编程。bios大小是8MB,里面会规划好,哪里是code,哪里放设置等等,然后代码里有专门写flash的函数,让大家可以保存一些东西,比如你想用硬盘还是光驱启动等等。同时系统每次启动也都会自己写一点没什么鸟用的信息进来。问题就出在这个写flash的函数上,我们后来发现,这哥们算错了存储区域的地址,导致写很多次后终于越界,误写到了人家代码区,把人家好端端的代码给写的乱七八糟,就如同当年CIH破坏系统的方法一模一样,照这样哪个机器能点亮才怪呢!又因为每次系统写的信息不一样,比如启动时间就不太一样,所以越界需要的次数不是恒定,更加重了我们排错的难度,泪啊!第一次写这么长的回答,还是手机打的,累!
印象里难调的bug细节都很多,说多了不好,还是来讲我听到的一个小故事吧。说有人装好了一个rack的新机器,大家都是一模一样的配置。然后发现有两台机器之间网速比较慢,而且稍稍有越来越慢的趋势。同一个rack的其他机器都很正常。于是怀疑是网线有问题。然而换了网线还是慢。于是怀疑switch接的口有问题。然而换了口还是慢。于是怀疑是机器有问题。然而把柜子里其他机器换过来,也会变慢!谁来谁慢!被换走的之前那个机器又变正常了!画外音:卧槽这是为什么???于是怀疑。。。应该怀疑什么有问题啊!于是怀疑那个位置的电源有问题。然而换了电源并没有什么卵用。于是怀疑这个机柜有问题(尼玛机柜和网速有什么关系???)。然而在另一个同型号的机柜也有同样的问题。装了好几个rack,全都有这个问题!。。。。。。于是怀疑那两台机器的位置有问题。有群众指出,有问题的总是机柜最下面两个位置。又有群众指出,最下面两个槽本来是设计成装不间断电源的。但是该机房的设计不需要把电源放在这个位置,于是统统装了机器。接着有群众指出,最下面两个槽因为本来是装电源的,可能不太平。。。对,就是不“平”。水平垂直的平。经过群众轮番上阵,得出的结论是。。。槽不平会影响散热,导致CPU和网卡芯片性能下降。
9月21日增加说明谢谢各位程序员捧场……我要讲的这个bug一点都不难,可能大家也都遇到过,但是当时卡了我一上午,所以印象极为深刻在这跟大家分享一下--------------------分割线-------------------------我来讲一个吧,也是我亲身经历的在传输数据的时候,需要对字符串a做判断,如果a为空,则不下发配置,非空下发配置在我获取到a之后,我把它打印出来发现是""嗯,什么都没有,为空,应该不下发,但当我去检查配置的时候,很奇怪的下发了我当然认为是我的判断问题,去检查,发现没问题,判断条件和逻辑都是正确的我觉得应该是字符串类型的问题,我又把所有判断项都转换成了unicode编码,问题仍然存在我又更改了判断条件为a的长度为零,则不下发,问题仍然存在当时我的心情大约是这样的为什么为什么明明a的内容什么都没有,代码却一直认为a非空呢a你为什么如此任性的表现你的存在感呢!我觉得下发的配置在嘲笑我,虽然是一个bug,但是他却表露出一股王霸哥之气我愤怒了,身为测试转研发的我一定要解决这个bug,人定胜天……额,bug我又重新写了一个程序,专门测试这段代码,代码逻辑仍然没问题,但是只要传输数据,他就认为a是非空的我逐行print各种东西,数据全对,问题存在我查了一下字符串那部分的python源代码,代码全对,问题存在我更换别人的机器执行这段代码,全都正常,问题存在……最后胡乱尝试,甚至期盼掌控代码的神明或者魔法少女代码子能够出现帮我解决这个问题,毕竟这个简单的不能再简单的问题已经卡了我将近4个小时了直到我在一次瞎试的时候print len(a)屏幕结果是:2我才恍然大悟,原来字符串a的内容,就是""当时我大概是保持这样的动作持续了十分钟吧而且,发生这一切的时候,我才刚刚看了@条件状语从句的回答,还在跟同时调侃哈哈哈怎么会有传输名字为null这种事发生人生真奇妙
在知乎上一第一次这么多赞, 我们现在为了规避这个问题做了两种措施1.在终端机上处理,如果json解析失败,直接会在街面上加上相应提示。2. 统一管理sim卡 尽量保证统一充值2. 统一管理sim卡 尽量保证统一充值以下为原答案___________________________________我们公司的海外项目 具体情况为。很多客户使用3gmodel上网。客户可以进行和socket相关的操作 比如登陆 售票 兑奖 退票等操作但是和http相关的比如查询某个报表,开奖公告等就是一查询就没有任何反馈。另外我们所有的通信都是加密的 。按照道理来说下面应该是根据服务器返回的错误码显示的提示内容。但是就是一片空白 ,通常这意味着服务器返回了一个程序不认识的错误吗所以找不到对应项目,因为这张照片不是我拍的附近也咩有有问题的机器,所以我只能跟服务器端的同事说 你这个服务器返回的错误码有问题,然后我使用系统有的一个日志上传功能准备上传日志。然而 一百年过去了 还是没有反应。 和boss等人熬了一个通宵后,然而连复现都没法复现的bug ,没办法我们就回去睡觉了。第二天我们突然发现 卧槽 我们旁边的机器也有这个毛病。大家欣喜若狂 我开始看日志。 看解密之后的日志报文啊咧?[ 15:40:21_371] rcv_msg: ??M{?u??? C?P?"? Pi?\????*???
VK?:???Q????2)3??????o?.?z]i???*?j?Fj? ?h5??" 为什么服务器给我返回了 乱码, 一定是服务器的问题 绝对!然后我就开始歇着 服务器的同事就开始忙乎了。大概吃了一顿午饭后,还是没有发现啥问题, 而且服务器的同事的日志里面的对应项目也是正确的。 这就蒙圈了。于是boss过来告诉我, 你要不要试试把终端机 发送加密后的报文,和收到的加密后的报文都打出来看看?我想了想好啊 正好能证明我清白。然后我就忙乎了一下。 按道理来说报文应该是这样的。"[ 15:47:35]_snd_http: ip:port/
"B" : "c",
"C" : "c",
"D" : "d"}" "[ 15:47:35]_snd_AftE: http:ip:port/rep?=messageAfterEncryption" focus out "[ 15:47:37_422] rcv_befE: messageBeforeEncryption" "[ 15:47:37_423] rcv_http: {"A":a,“B”:b}" 里面是一些通讯的字段等等各位自行脑补。 在我自己的机器上跑了一下后,我编译到实际的机器上开始跑。发现。。。。"[ 15:47:35]_snd_http:ip:port:/{
"B" : "c",
"C" : "c",
"D" : "d"}" "[ 15:47:35]_snd_AftE: ip:port/messageAfterEncryption" "[ 15:39:50_747] rcv_befE:&html&&head&&title&302 Found&/title&&/head&&body&&h1&302 Found&/h1&&p&The document has moved &a href=".kh/no-money-access/"&here&/a&&/p&&/body&&/html&"
"[ 15:39:50_747] rcv_http:
额。我当时大喊一声 服务器的你过来 你看看你给老子返回的什么JB玩意。然后反应过来一件事。。。 这个HTML貌似。。。。是你没钱了的意思?然后boss过来凝视一下 你换张卡试试?换一张卡就好了。、、。、然后我们给当地的运营商打了个电话, 原来当你的账户余额过低的时候。他们会拒绝所有的http请求,然后给你返回这么一个html的东东,但是socket他们一般不会动,除非你没钱了 他们才会直接断开socket- -所以换了一张有余额的3G卡之后世界就清净了。。大家就开始集体骂娘了。。。。然后boss就去找合作方骂娘了,你们特么找的什么运营商。然后凡是问我们 为什么老子能卖票 但是老子不能查报表这个问题的, 我们的回答都是 滚回去充钱去
小的是和另外几千人给一个工业母机做软件的。这个母鸡差不多5亿人民币一台,一般大宗生产需要个百十来台满足产量需求。一台母鸡停产一秒就亏150多人民币。一个软件bug造成一个母鸡停产一天一套上海内环三居室就亏没了。所以我们每写一行代码都是战战兢兢…有天一线客服反馈一个客户怒得拍桌子的问题,一个母鸡精度会突然下降100%,检测精度的传感器报警,导致母鸡停止下蛋。按照故障查处协议,发现重启系统就好了。然后这个情况一周出现一次,不固定。每次出现就损失一台奔驰E系…开发部门紧急安排人手排查。虚拟母鸡模拟,根本不会出现这么极端的问题。各种静态动态分析控制精度的源代码,都没有问题。硬件部门排查相关传感器,也没问题。在内部真实母鸡上还是无法重现。绝望之下还查阅了当地地震纪录…于此同时,派我到客户那儿,在出事母鸡上结合总部大牛远程会诊,仍然没有头绪。一环套一环的程序上,都没问题,每个输出输入,都正常。然后哪天,duang,读出的精度就跳了。(当然物理上没有duang这一声),一周后我灰头土脸回来。算了,最后客服建议客户重新安排维护时间来避免独立重启。赔送了客户付费应用。并说开发部门对这个问题需要从长计议。三个月过去了,某天在食堂偶然听到坐对桌的硬件部门人扯淡他们有个供应商刚汇报了他家寄存器发现了bug,在某一个地址上写不进去,但也不报警啊!听了真是要报警了!然后我们软件这边就电光火石般开窍了…一看出事母鸡果然用的是那个批次的板子…别的母鸡虽然也用那个板子,但不会遇上那个地址…这个倒霉催的母鸡恰巧累计一段时间就会遇上一次…一个数字正常进去出来就给截了一半啊…后来给那个母鸡升级了那个板子的固件就再没问题了…
分享刚看到的一则新闻——思科交换机复位键设计问题成了网络工程师最可怕的噩梦2013年,思科针对旗下价格昂贵的系列交换机发布了“问题通报”。世界各地的许多数据中心正在使用这2个系列的交换机。通报当中详述了这2个系列交换机当中复位键存在设计错误,导致用户插入网线之后,可能在短短几秒内让整个网络瘫痪。如果有人在这个端口插上一根网线,在不知情的情况下就会按下复位键,他们甚至没有意识到整个网络已经因此瘫痪。如果有人在这个端口插上一根网线,在不知情的情况下就会按下复位键,他们甚至没有意识到整个网络已经因此瘫痪。
百分之百出现的bug都是好bug,多线程里的有些bug能重现已经是一个惊喜了。。。
实验室的妹子给我发消息:你的设备在群脉冲时怎么感觉显示有点跳啊(不频繁,偶尔有一两下)。 我去看,实验过程中像在有人按按键一样,显示自动在翻屏。当时第一反应是按键部分受到干扰了,把按键上的电容由0.1uF改成了0.33uF。现象倒是没是没有重现了。但怎觉哪不对。 第二天,实验室妹子又给我发消息:快过来,你的设备打静电时随机出现复位。一个周期内有时复位,有时又没事! 复位!还随机复位!!我赶过去看了现象,认为是复位电路受到干扰。 加电容,改电阻。无效! 把复位断开,无效!! 打开PCB文件,改电源线路,无效!!! 就这样两天过去了,没招了。说好的下周送检样机去现场联调呢,吃不下,睡不好。 项目负责人(副总工)落井下石,群发邮件召开会议,会上对我一阵批斗,说我硬件不行,并通知没法送检,原因是硬件有问题(实际原因是他家忙着搞装修,软件根本赶不出来,软件测试报告显示有73处bug,外加七项功能缺失),需要调整到一个月后。 我肯定不服气呀,但又没办法,只好仔细查看原理图,现在怀疑对象只剩下了下电检测(当电压下降到一定值,设备进入低功耗模式)。我把下电检测的器件拆除,把MCU的IO上拉到电源。再去实验,结果合格!!!于是对下电检测进行整改,发现问题依然解决不了。 脑抽想到群脉冲时显示乱跳,就像按键有人在按一样,便怀疑到软件没有作延时或防抖处理。 TMD软件工程师(项目负责人)居然不给我看代码,说软件不关我屁事。让我做好自己的事。这让我怎么查!! 闹僵了,项目负责人打报告到常务总监,说我有问题不去查,还要干涉他的工作。我当时内心一万头草泥马。 只好请来了总工与研发经理,说明了情况,总工说那就看看代码吧,和项目负责人沟通完,于是我们仨挤在电脑前一看源程序,瞬间奔溃。按键检测没有防抖处理!上电检测没有延时!下电检查没有延时! 当场让项目负责人加了相应代码后,再做实验全部通过。 梁子算是结下了!
搞单片机软硬件的,有次有个同事画的板子,GSM模块,每次都是找不到信号,然后重启。因为搜索信号需要较大的电流,一开始以为只是简单的驱动芯片有问题,换成大电流的。不重启了,但始终搜索不到信号,好容易搜索到了十几秒就断开了,当时以为是GSM模块买到假的了,但不确定,就找同事问有什么问题,因为模块拆下来放到以前的老板子上就好用,所以我就一个劲的问他是不是硬件问题,他老是说没问题,最后他烦了,扔给我pcb图让我看。我也是从头看到尾,测试了2天,也确实没问题。只能对比老板子。最终发现一个细节,老板子的信号线很短很粗而且只有一面,新班子他很细就算了,居然还打了4个过孔,正面反面,我于是用小刀划开线,然后用一根铜线把信号口和天线直接短接,一切正常(天线处要求线粗点而且不能有过孔,尽量短)。那天下午我短接了20多块板子,全部正常了。我去,当时我恨不得把那个同事的头塞进他XX里。这些天老板一直认为我软件有问题,骂了我无数次。由于是小公司,产品也是小批量自用,最后处理是,50多块板子全部切断用飞线。我弄了20多块,剩下的他自己干吧。从此,他做的东西,我都是要到pcb板图自己好好看看,免得出了问题。事实证明,他还是没长记性,后面还是出了好几次类似问题,我能感受到他之前的同事被坑的有多惨……

我要回帖

更多关于 unity asset store 的文章

 

随机推荐