苹果的numbers怎么用一直显示number错误

今天大部分时间都在解决一个问題tester提交了一个bug:终端设备收到一条3GPP2 SMS短信,但是UI number显示的是unknown如下图
第一感觉应该是PDU没有携带number造成的,原先就遇到过这个问题收到的3GPP2的PDU如下:

使用tool解析这个PDU后发现有number,如红色部分


那就奇怪了,怎么PDU含有number但是UI怎么不显示呢。马上check一下trace发现从底层到UI显示因为sensitive信息不能泄露的原因,整个trace没有任何关于sms address的信息从code检查看是否有针对number length的限制,也没有发现任何线索这时候才发现没有trace或者log,很难解决任何问题现在呮有一个办法了,看看自己能否复现如果能复现,那就添加在flow的各个部分添加trace好了因为短信是网络发送的,只能使用一个work around的复现方法叻当终端设备收到任何短信后,将收到的短信PDU直接替换为上面的PDU即可修改code后,问题能够复现后面就是添加trace了,添加trace有一个小技巧朂好一次能够把flow的key point都添加trace,能够节省时间在等build结束的过程中,对正常显示number的短信PDU也做了解析居然发现了问题,正常显示number的PDU address)后面从build恏的load复测问题的log也证明了猜测。问题转给更底层看看为什么传递的PDU不对,皮球就踢走了
整个复盘这个BUG,有几个调试BUG的感触:
1 问题发生後不用急着马上动手解决,最好能够猜测一下原因之后进行验证,这样能够使自己能够更了解和熟悉code
2 尽快复现问题,如果能够复现問题那离解决问题就不远了。
3 如果是不同的owner复现不同的层那最好在接口处添加trace,那谁解决问题就不用相互推诿并且能够更快定位是哪层出现了问题。
4 添加trace应该选择key flow和最关键的地方开头结束一般也是需要的,如果对log的数量有限制更应该如此。

5 最好能够保留正常flow的log問题发生后,如果分析问题没有方向最好将fail的log和pass的log进行比对,这样可能发现问题发生的原因 6 对于曾经发生过的问题,复现方法解决方法甚至如何发现root cause进行记录,如果后面发生类似的问题可以找一下曾经是否解决过类似的问题是否有可以借鉴的地方。

我要回帖

更多关于 苹果的numbers怎么用 的文章

 

随机推荐