现在的位置: 首页 > 综合 > 正文

BUG定位方法之我见

2018年03月19日 ⁄ 综合 ⁄ 共 1110字 ⁄ 字号 评论关闭

早期开始接触android的时候,没法承担功能的开发,大段大段的代码也看不进去,除了对android整体框架有点认识,其他的基础基本都是从《Android应用开发详解》来的。

作为新人,最开始做的一般都是解bug,但是对底层实现的不熟悉,导致我对于一些错误无从下手,甚至资源怎样获取都不太清楚。

但随着bug的深入,渐渐的也有了些自己定位bug的思路,下面与大家分享一下:

1、打开bug出现的地方,最好是将手机语言设置为english;

2、寻找包裹bug或者bug操作前一操作界面的主title等字段,如短信中心号码修改界面,关键字段为“SMS Service Center”;

3、查找SMS Service Center字段就可以找到他定义的地方

<string name="sms_service_center">SMS Service Center</string>

4、通过其name属性sms_service_center继续深入,找到其引用这个资源的出处为SmsPreferenceActivity.java中的

mNumberTextDialog = dialog.setIcon(R.drawable.ic_dialog_info_holo_light).setTitle(
                    R.string.sms_service_center).setView(mNumberText).setPositiveButton(R.string.OK,
                    new PositiveButtonListener()).setNegativeButton(R.string.Cancel, new NegativeButtonListener())
                        .show();
这里也就找到了关键的对话框mNumberTextDialog。

5、同时我们还注意到setView(mNumberText),mNumberText类型为EditText,分析发现他就是存放短信中心号码的这个编辑框。系统读取出短信中心号码显示在mNumberText中,可编辑。

6、如果bug需求是不能修改短信中心号码,那在这里,我们只需要将mNumberText的焦点获取设置为false就可以了。

7、bug解除,是不是很简单?这只是对于不理解流程或者不容易找到bug出处的折中办法,对于我们理解整个功能流程不是很有利,建议辅助使用,找bug要知其然也要知其所以然,最好是在理解整个功能流程的基础上来充分分析和解除bug,给自己一个为什么要这样做的充分的理由才能无往而不胜。

 

 

抱歉!评论已关闭.